里面说“另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值“
在
<script type="text/javascript">
//单个select,返回第一个
$("p").text( $("#single").val() );
</script>
中只出来了慕课网 但是把val()改成html()出来了
<option>慕课网</option>
<option>博客园</option>
不是说html和val都只读取第一个元素吗 为什么html读取了两个
$("#single") 只有一个啊,没问题啊,你说得那两个<option>是HTML内容,没有一个两个之说
"html()读取第一个元素的html内容"意思是:在调用的时候,譬如E.html(),这个E可以是单个元素,也可以是元素集合,当E是元素集合时,这个调用返回的就是E[0]元素的html内容。
而不是:返回元素的html内容中的第一个元素
题中把val()换成html()后,也就是$("#single").html(),这里$("#single")返回的就是单个select元素,所以会把这个select的所有html内容都显示出来。
<script type="text/javascript">
//单个select,返回第一个
//$("p").text( $("#single").val())
$("p").text( $("#single>option").html())
</script>