Confusion causée par javascript, sélectionnez toutes les fonctions
大家讲道理
大家讲道理 2017-05-19 10:34:59
0
5
468

Téléchargez le code directement
Le code est le suivant, la fonction tout sélectionner n'est pas facile à utiliser

     var _select_all = document.getElementById("select_all");
     var _input = document.querySelectorAll("#shop_content ul input[type=checkbox]");
    _select_all.addEventListener("click",function() {
        
                            
            for(var i = 0;i<_input.length;i++) {
                 _input[i].checked="checked";
        }
     })

Changer une phrase

var _select_all = document.getElementById("select_all");
    
    _select_all.addEventListener("click",function() {
         var _input = document.querySelectorAll("#shop_content ul input[type=checkbox]");
                            
            for(var i = 0;i<_input.length;i++) {
                 _input[i].checked="checked";
        }
     })

Pourquoi le code s'exécute-t-il normalement lorsque _input est placé en dessous ? Ne pouvons-nous pas obtenir des variables externes dans la fonction de rappel en fonction de la portée ?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(5)
黄舟

Vous pouvez tester les deux par vous-même : https://jsfiddle.net/8j9q69qm/

洪涛

Je l'ai testé, les deux sont OK

洪涛

Non, c'est pareil

習慣沉默
var _select_all = document.getElementById("select_all");
var _input = document.querySelectorAll("#shop_content ul input[type=checkbox]");
console.log(_input);
_select_all.addEventListener("click",function() {
    
                        
        for(var i = 0;i<_input.length;i++) {
             _input[i].checked="checked";
    }
 })

Vous le saurez après avoir consulté le journal. S'il n'est pas défini, vous saurez où réside le problème.

習慣沉默

L'une consiste à vérifier les nœuds à l'avance et à les mettre en cache, et l'autre consiste à vérifier les nœuds en temps réel lorsque vous cliquez. Si le nœud correspondant au sélecteur #shop_content ul input[type=checkbox] ne change pas, les deux méthodes sont les mêmes et l'efficacité de la mise en cache est relativement élevée. Si le nœud correspondant peut être supprimé, ajouté ou remplacé, vous devez utiliser la deuxième méthode pour retrouver le nœud en temps réel à chaque fois que vous cliquez dessus

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!