如何检查元素的显示值
<tr id="pDetails" style="display:none">
$("tr[id='pDetails']").attr("style")
给了我'display:none'
我想编写一个jquery脚本,它只返回display的值'none'
这可能吗?
答案 0 :(得分:69)
答案 1 :(得分:16)
嗯,首先,你的表现可以简化:
$("#pDetails").attr("style")
因为任何给定的ID都只应该有一个元素,而且ID选择器的远比你正在使用的属性ID选择器更快。
如果您只想返回显示值或其他内容,请使用css():
$("#pDetails").css("display")
如果你想搜索没有显示的元素,那就更难以可靠地做了。这是一个粗略的例子,不是100%:
$("[style*='display: none']")
但是如果你只是想找到隐藏的东西,请使用:
$(":hidden")
答案 2 :(得分:0)
如果要检查显示值,https://stackoverflow.com/a/1189281/5622596已经发布了答案。
但是,如果您不想检查某个元素的样式是否为style="display:none"
,而是想知道该元素是否可见。然后使用.is(":visible")
例如:
$('#idDetails').is(":visible");
如果可见,则为true
,否则为false
。
答案 3 :(得分:-1)
这将返回您的要求,但我不建议使用这样的CSS。使用外部CSS而不是内联css。
$("tr[id='pDetails']").attr("style").split(':')[1];