仅当元素前面没有文本节点时,如何匹配元素的第一个子元素?

2023-12-31

我试图匹配 div 的 h4 (使用 jQuery),以便我可以删除它的上边距。但是,我只想匹配 h4 上面没有文本的情况。例如,匹配这个:

<div>
  <h4>Header</h4>
  ...
</div>

但不是这个:

<div>
  Blah blah blah.
  <h4>Header</h4>
  ...
</div>

我在 jQuery 中能想到的最好的代码是这样的:

$("div h4:first-child")

但不幸的是,这与上述两种情况都相符。无论如何,是否要指定您希望它成为绝对的第一个元素,并且前面没有文本节点?


<div>
    <h4>Header</h4>
    ...
</div>

<div>
    Blah blah blah.
    <h4>Header</h4>
    ...
</div>

那么你可以使用以下内容。

$('div').each(function() {
    var me = this;
    if ($(me).html().toUpperCase().indexOf("<H4>") == 0){ //check to see if the inner html starts with an h4 tag
        $(me).children('h4')... //do what you need to do to the header
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅当元素前面没有文本节点时,如何匹配元素的第一个子元素? 的相关文章