为了账号安全,请及时绑定邮箱和手机立即绑定

var $strHTML = $("*:hidden").val(); 为什么匹配不出来:?求教

var $strHTML = $("*:hidden").val();

为什么匹配不出来:?求教

正在回答

2 回答

不好意思,之前没有看过题目,给出这样的答案。


现在解释下为什么 $('*:hidden').val() 为什么匹配不到值。

这是因为 $('*:hidden') 匹配到的第一个元素是 HEAD 标签(通过 $('*:hidden')[0].tagName 可以验证)。

html 标签中,有一些标签的 display 属性默认是为 none 的,而 :hidden 选择器选择的就是这些 display:none 的标签。

* 号为通配符,$('*:hidden') 和 $(':hidden') 的选择范围其实是一样的,匹配文档中所有 display:none 的标签。


为了完成题目,需要限制 :hidden 匹配的范围,也就是只匹配 input 为 hidden 的标签,所以要使用 $('input:hidden') 来取得相应的值。


希望这个回答能对你有所帮助。

2 回复 有任何疑惑可以回复我~
#1

Matosama 提问者

非常感谢!
2015-01-31 回复 有任何疑惑可以回复我~

$(":hidden").val() 这样就行了

0 回复 有任何疑惑可以回复我~
#1

Matosama 提问者

还是不行。
2015-01-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

var $strHTML = $("*:hidden").val(); 为什么匹配不出来:?求教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信