我试图检查 2 个 div 是否包含相同的文本,如果包含,则向父 div 添加样式。 我可以使用下面的代码正常工作,但我的问题是 div 都在寻找匹配项,而不仅仅是父级中的 div?如果你看下面的内容
<div class="infobox">
<div class="date">8</div>
<div class="secdate">8</div>
</div>
<div class="infobox">
<div class="date">1</div>
<div class="secdate">11</div>
</div>
<div class="infobox">
<div class="date">8</div>
<div class="secdate">11</div>
</div>
和 jQuery
jQuery(function ($) {
$('.date').each(function () {
var myhtml = $(this).html().split(' ')[0];
var ele = $(this);
$('.secdate').each(function () {
myhtml == $(this).html().split(' ')[0] ? $(ele).parent().css('background', '#ffff00') : ""
})
})
});
第三个 div 正在应用样式,但它不应该应用,因为其中的 2 个 div 不匹配?
最佳答案
这看起来简单得多:
$('.infobox').each(function () {
if ($(this).find('.date').text() == $(this).find('.secdate').text()) $(this).css('background', '#ffff00')
})
<强> jsFiddle example
循环父级(信息框),然后将日期子级的文本与秒日期子级的文本进行比较。
关于javascript - 匹配父元素内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307188/