我试图检查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?
答案 0 :(得分:4)
这似乎更简单:
$('.infobox').each(function () {
if ($(this).find('.date').text() == $(this).find('.secdate').text()) $(this).css('background', '#ffff00')
})
<强> jsFiddle example 强>
循环显示父级(信息框)并将日期子级的文本与secdate子级进行比较。
答案 1 :(得分:0)
似乎应该更简单:
jQuery(function ($) {
$('.date').each(function () {
var dateText = $(this).text();
var secdateText = $(this).next('.secdate').text();
if (dateText == secdateText) {
$(this).parent().css('background', '#ffff00');
}
});
});
答案 2 :(得分:0)
我改变了一点:
$(document).ready(function(){
$('.infobox').each(function () {
if( $(this).children('.date').html() == $(this).children('.secdate').html() )
$(this).css('background', '#ffff00');
});
});
这样你甚至不需要循环。 我在这里测试过它的魅力就像魅力一样:)
希望有所帮助