Der Code gearbeitet, es war einfach voller Tippfehler .
- Die ersten
a
senden den falschen Parameter zur Funktion.
- Alle
onclick
als Start "
, aber kein Ende.
Nachfolgend finden Sie eine Arbeits Schnipsel:
function myFunction(param1) {
document.getElementById(param1).style.color = "#E66C2C";
}
<a class="someClass1" id="customID1" name="customName1" onClick="javascript:myFunction('customID1',this);">Custom</a>
<a class="someClass2 " id="customID2" name="customName2 " onClick="javascript:myFunction('customID2');">Custom2</a>
<a class="someClass3" id="customID3" name="customName3" onClick="javascript:myFunction('customID3');">Custom3</a>
Eine bessere Art
Gerade binden durch class
und verwenden target
:
//The function that handles the click
//This function takes the event and the desired class as arguments
function handleClick(e, c, func) {
e = e || window.event;
//Get target
var target = e.target || e.srcElement;
//Test for right class
var hasClass = false;
for (var i = 0; i < target.className.split(" ").length; i++) {
if (target.className.split(" ")[i] == c.toString()) {
hasClass = true;
break;
}
}
if (hasClass === true) {
func(target);
}
}
//Function to bind click events on class
function bindClassEventClick(cls, func) {
if (document.body.addEventListener) {
document.body.addEventListener('click', function(e) {
handleClick(e, cls, func)
}, false);
} else {
document.body.attachEvent('onclick', function(e) {
handleClick(e, cls, func)
}); //for IE
}
}
//Bind event "someClass" click
bindClassEventClick('someClass', function(target) {
target.style.color = "#E66C2C";
});
bindClassEventClick('someClass2', function(target) {
target.style.color = "red";
});
<a class="someClass">Custom1</a>
<a class="someClass2">Custom2</a>
<a class="someClass">Custom3</a>
Und dann wieder, in diesem Stadium könnten Sie auch nur jQuery() implementieren.
jQuery
jQuery ist eine Bibliothek für den build spezif Zweck der Benutzerinteraktion mit dem DOM Lockerung und erzeugen ein einheitliches Verhalten Quer Browser.
jQuery(".someClass").on("click", function() {
jQuery(this).css("color", "#E66C2C")
});
jQuery(".someClass2").on("click", function() {
jQuery(this).css("color", "red")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a class="someClass">Custom1</a>
<a class="someClass2">Custom2</a>
<a class="someClass">Custom3</a>
Haben überprüfen Sie, ob das Element gibt es? Wenn Sie 'myFunction (param1) 'aufrufen, sollte ein Element in Ihrer Seite mit dem Attribut' id == param1 'vorhanden sein. –
Versuchen Sie zuerst, den Parameter zu protokollieren, um sicherzustellen, dass der erwartete Wert an die Funktion übergeben wird. – niyasc
Bitte geben Sie das entsprechende HTML an, dann können wir sagen, was falsch ist. –