我有这个HTML,其中“5”重复两次。
<ul>
<li>5</li>
<li>6</li>
<li>7</li>
<li>5</li>
</ul>
所以,我在“LI”元素上使用click()。
var guess1 = "";
var guess2 = "";
var count = 0;
$("li").click(function(){
if ( count < 2 ){
count++;
if (count === 1 ) {
guess1 = $(this).text();
} else{
guess2 = $(this).text();
if (guess1 === guess2) {
$(this).css("background", "red"); // Here both matching "LI" should affect. Not only one "LI"
}
}
}
});
问题:我想要的是,当“guess1”===“guess2”时,那么匹配“LI”(在这种情况下LI包含值“5”)应该采用bg颜色。
请提出任何建议。谢谢:))
答案 0 :(得分:2)
将第一个元素保存在变量中。
var guess1 = "";
var guess2 = "";
var count = 0;
var li1 = null;
$("li").click(function() {
if (count < 2) {
count++;
if (count === 1) {
guess1 = $(this).text();
li1 = $(this);
} else {
guess2 = $(this).text();
if (guess1 === guess2) {
li1.css("background", "red");
$(this).css("background", "red");
}
}
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>5</li>
<li>6</li>
<li>7</li>
<li>5</li>
</ul>
&#13;
答案 1 :(得分:0)
尝试使用每个功能:
var guess1 = "";
var guess2 = "";
var count = 0;
$("li").click(function(){
if ( count < 2 ){
count++;
if (count === 1 ) {
guess1 = $(this).text();
} else{
$('ul li').each(function(i)
{
guess2 = $(this).text();
if (guess1 === guess2) {
$(this).css("background", "red");
}
});
}
}
});
这是一个小提琴: