0

JavaScript には、果物の名前を取得するためのポインターがあります。ただし、アラートには常に null が表示されます。ロジックを確認しましたが、問題が見つかりませんでした。助言がありますか?ありがとう!

 <!DOCTYPE html>
    <html>
    <head>
        <title>My Fruit</title>
        <script type="text/javascript">
        function checkFruit(){
            var fruit_radio_pointers = document.querySelector('[name="fruit"]'); 
            var which_fruit = null;
            for(var i=0; i<fruit_radio_pointers.length; i++){
                if(fruit_radio_pointers[i].checked){
                    which_fruit = fruit_radio_pointers[i].value;  
                    break;            
                }    
            }
            alert(which_fruit);
        }

        //document.getElementById("my_btn").addEventListener("click", checkFruit, false);
        </script>
    </head>
    <body>
    <p>
        <input name="fruit" type="radio" value="apple" /> Apple<br />
        <input name="fruit" type="radio" value="cherry" /> Cherry
    </p>
    <p>
       <button id="my_btn" onclick="checkFruit()" >Which Fruit?</button>

    </p>
    </body>
    </html>
4

1 に答える 1

4

使用querySelectorAll:

var fruit_radio_pointers = document.querySelectorAll('[name="fruit"]'); 

querySelector最初に見つかった一致のみを返します (配列としてではありません)。
に等しいdocument.querySelectorAll('[name="fruit"]')[0]です。
お気づきかもしれませんが、querySelectorAllは見つかったすべての一致を配列として返します。

于 2013-07-19T21:35:01.227 に答える