var $strHTML = $("*:hidden").val(); 为什么匹配不出来:?求教
var $strHTML = $("*:hidden").val();
为什么匹配不出来:?求教
var $strHTML = $("*:hidden").val();
为什么匹配不出来:?求教
2015-01-30
不好意思,之前没有看过题目,给出这样的答案。
现在解释下为什么 $('*:hidden').val() 为什么匹配不到值。
这是因为 $('*:hidden') 匹配到的第一个元素是 HEAD 标签(通过 $('*:hidden')[0].tagName 可以验证)。
html 标签中,有一些标签的 display 属性默认是为 none 的,而 :hidden 选择器选择的就是这些 display:none 的标签。
* 号为通配符,$('*:hidden') 和 $(':hidden') 的选择范围其实是一样的,匹配文档中所有 display:none 的标签。
为了完成题目,需要限制 :hidden 匹配的范围,也就是只匹配 input 为 hidden 的标签,所以要使用 $('input:hidden') 来取得相应的值。
希望这个回答能对你有所帮助。
举报