请你解释一下,为什么这段代码显示警告窗口,其中包含无线电元素末尾的文字:
<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
谢谢!
答案 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;
}