Hallo Ich habe ein Skript wie dieseKann nicht Skript in jQuery
$(document).ready(function() {
// TODO: Make class toggle logic more efficient
// Global variables
var maxChoiceCount = 2;
// DOM elements
var choiceItems = document.querySelectorAll(".boxParent li");
var maxCountLabel = document.getElementById("max-count");
// Update max count label
maxCountLabel.textContent = maxChoiceCount;
// Checklist item handler
var checkItem = function() {
activeItems = document.querySelectorAll(".boxParent li.active");
if (activeItems.length === maxChoiceCount) {
if (this.className === "active") {
this.className = "";
}
} else {
if (this.className === "active") {
this.className = "";
} else {
this.className = "active";
}
}
}
// Handle logic to enforce max count
for (var i = 0, l = choiceItems.length; i < l; ++i) {
choiceItems[i].onclick = checkItem
}
});
Die Funktion nur für ein Zeichen geben für ein ausgewähltes <li>
setzen. ich dieses Skript hineingelegt index.js und ich nenne es auf meine HTML-Seite wie folgt aus:
<script src="js/index.js"></script>
und es hat nicht funktioniert, habe es Fehler in der Konsole und sagte so:
**index.js:22 Uncaught ReferenceError: activeItems is not defined**
aber wenn ich das Skript kopieren und in den HTML-Code einfügen, funktioniert es gut.
Warum kann ich es nicht auf meiner index.js
speichern?
Ich mag es nicht, viele Skripte in meinem HTML zu setzen.
Hier ist die Geige. https://jsfiddle.net/ddnvraf8/
Sie nach dem jquery Skript Anruf? –
Gokigooooks
Stimmt irgendetwas mit der Abfrage '" .boxParent li.active "' in Ihrem HTML überein? –
yap. seine Übereinstimmung .boxParent li.active zu meinem html und ich setzte index.js nach jquery.min.js –