我正在搜索一个容器以抓取匹配元素的填充物。
padding = $( ".container" ).find( ".set_height" ).css( "padding-top" );
console.log(padding);
.set_height {
padding-top:50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="section">
<div class="match_height">
Section 1
</div>
</div>
<div class="section">
<div class="match_height">
Section 2
</div>
</div>
<div class="section">
<div class="set_height">
Section 3
</div>
</div>
</div>
set_height
div也可能是fixed_height
或dynamic_height
我该如何修改jQuery以搜索其中之一并在找到一个时停止它,因此,如果有多个,那么它将只抓住它找到的第一个的值?
答案 0 :(得分:3)
http://api.jquery.com/multiple-selector/
您可以通过一个类列表作为选择器。
var padding = 0;
var items = $( ".container" ).find( ".set_height, .fixed_height, .dynamic_height");
if (items.length) {
padding = items[0].style.paddingTop;
}
@segu是正确的(谢谢),但是仅调用first()
是不够的,您必须检查first().style
的结果是否为undefined
,因为调用{{1}如果未找到结果,}可以触发first().style.paddingTop
。我只是使用Uncaught TypeError: Cannot read property 'paddingTop' of undefined
属性。