【发布时间】:2020-03-05 02:55:00
【问题描述】:
如何查看元素的显示值
<tr id="pDetails" style="display:none">
$("tr[id='pDetails']").attr("style") 给我'display:none'
我想编写一个 jquery 脚本,它只返回 display 的值为'none'
这可能吗?
【问题讨论】:
如何查看元素的显示值
<tr id="pDetails" style="display:none">
$("tr[id='pDetails']").attr("style") 给我'display:none'
我想编写一个 jquery 脚本,它只返回 display 的值为'none'
这可能吗?
【问题讨论】:
【讨论】:
.css() 返回计算的样式,其中可以包括继承的样式。我认为 OP 想要获得内联样式。这是很难做到的!
嗯,一方面可以简化你的情绪:
$("#pDetails").attr("style")
因为任何给定 ID 都应该只有一个元素,并且 ID 选择器将比您正在使用的属性 ID 选择器快得多。
如果只想返回显示值什么的,使用css():
$("#pDetails").css("display")
如果您想搜索没有显示的元素,那么可靠地做到这一点要困难得多。这是一个不会 100% 的粗略示例:
$("[style*='display: none']")
但如果你只是想找到隐藏的东西,使用这个:
$(":hidden")
【讨论】:
如果你想查看显示值,https://stackoverflow.com/a/1189281/5622596已经发布了答案。
但是,如果不是检查元素是否具有style="display:none" 的样式,而是想知道该元素是否可见。然后使用.is(":visible")
例如:
$('#idDetails').is(":visible");
这将是true(如果可见)和false(如果不可见)。
【讨论】:
这将返回您所要求的内容,但我不建议使用这样的 css。使用外部 CSS 而不是内联 CSS。
$("tr[id='pDetails']").attr("style").split(':')[1];
【讨论】: