使用 jQuery 1.4.2,:hidden 过滤器不会过滤掉隐藏的元素,但我通过调用 show() 使其可见。过滤器假定它仍然是隐藏的。
这是错误还是我错过了什么?考虑以下代码:
$("td.ms-authoringcontrols > span[id*='_ParallelApprovers']:hidden:first").css("display")
"none"
$("td.ms-authoringcontrols > span[id*='_ParallelApprovers']:hidden:first").show()
Object
$("td.ms-authoringcontrols > span[id*='_ParallelApprovers']:hidden:first").css("display")
"inline" // ?? Let me scratch my head...
$("td.ms-authoringcontrols > span[id*='_ParallelApprovers']:hidden:first").is(":hidden")
true //element with "display:inline", visible in browser, but yet it is hidden
而不是“内联”,您会期望“无”,因为使用了 :hidden 过滤器。
它所做的是从一组对象中选择第一个隐藏元素。每次我调用这些代码行时,我希望他们选择下一个隐藏元素(不是我刚刚展示的那个)。