基于动态样式属性的存在来定位元素 - Jquery

时间:2017-01-21 05:56:42

标签: javascript jquery html

我正在构建一个应用程序,用于检查包含嵌套<div>元素的特定<img>的页面

<div style="padding-bottom: 66.6%">
    <img src="some-src" />
</div>

每次页面刷新时,周围的div都会有不同的padding值;无论padding值jquery如何,我如何定位此div?

注意我无法使用idclass来定位此元素

2 个答案:

答案 0 :(得分:1)

您可以在style属性中搜索具有填充的div:

var $div = $('div[style*=padding-]');

console.log($div[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="padding-bottom: 66.6%">
  <img src="some-src" />
</div>

但是,这并不能保证同一页面上没有其他div作为内联样式具有填充。

答案 1 :(得分:1)

以下代码会检查您的div是否有<img>标记,
如果length您的div > 0 :has代码

,请使用<img>属性

var len = $('div[style*=padding-bottom]:has(img)').length;
if( len > 0 )
    alert( "Your DIV has "+len+ " <img> tag" );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="padding-bottom: 66.6%">
  <img src="some-src" />
</div>