一些帮助解释javascript函数

时间:2014-12-18 20:52:48

标签: javascript

请你解释一下,为什么这段代码显示警告窗口,其中包含无线电元素末尾的文字:

<script>

    function markReply(el){
        alert(el.nextSibling.nodeValue);
    }

    $(document).ready(function(){
        markReply();
    }); 

</script>

而这个没有:

<script>

    function markReply(el){
        return el.nextSibling.nodeValue;
    }

    $(document).ready(function(){
        var msg = markReply(); 
        alert(msg);
    });

</script>

无线电元素选择了4个可选答案,如:

<input type="radio" name="choise" onclick="markReply(this);"/>....some text

谢谢!

3 个答案:

答案 0 :(得分:3)

第二个脚本只返回值,而不对其执行任何操作。

请注意,在这两种情况下,来自文档就绪函数的调用都是无用的,并且可能在控制台中产生el is not defined错误。

答案 1 :(得分:-1)

当你为它创建变量时,你没有将任何参数传递给markReply()函数。

试试这个:

var msg = markReply(el);

答案 2 :(得分:-1)

不警告消息的脚本无法正常工作,因为加载jquery时函数markReply的参数不存在。

HTML

<input type="radio" name="choise" id="choise"/>....some text

JS

    $(document).ready(function(){
        $("#choise").click(function () {
           alert(markReply(this)); 
        });

    });

function markReply(el){
        return el.nextSibling.nodeValue;
    }

http://jsfiddle.net/j4sgdton/

相关问题