每行有3個圖像,但是那些3個圖像中的一箇中移除類有一個類活性。JQuery的從兄弟姐妹的元件
.active{border: 1px solid red;}
活動圖像有邊框(按類活動)。兩幅圖像NP邊界(類空)
所有我想要的,從的onclick當前活動圖像刪除邊框,並添加到被點擊的一個。
我嘗試了所有這些都不工作:
$('#' + clkdImgId + ' img').parent().children('.active').removeClass('active'); // fails;
$('#' + clkdImgId + ' img').siblings().find("img.active").hide(); //fails
$('#' + clkdImgId + ' img').closest('.active').removeClass('active');//fails
$('#' + clkdImgId + ' img').closest('.image').children('.active').hide();//fails
$('#' + clkdImgId + ' img').closest('img.active').removeClass('active');//fails
$('#' + clkdImgId + ' img').closest('.active').hide();//fails
function setBrder(rowId, imgId)
{
var clkdImgId = 'img' + rowId + imgId;//this gives me img12, img13 etc correctly
//set class on the clicked
$('#' + clkdImgId + ' img').addClass('active');// this works
$('#' + clkdImgId + ' img').parent().children('.active').removeClass('active'); // fails;
$('#' + clkdImgId + ' img').siblings().find("img.active").hide(); //fails
$('#' + clkdImgId + ' img').closest('.active').removeClass('active');//fails
$('#' + clkdImgId + ' img').closest('.image').children('.active').hide();//fails
$('#' + clkdImgId + ' img').closest('img.active').removeClass('active');//fails
$('#' + clkdImgId + ' img').closest('.active').hide();//fails
}
HTMLs:
<table><tr><td>
<div id="img11" class="image">
<img class="active" src=".."> <- REMOVE this .active
</div>
<div id="img12" class="image">
<img class="" src=".."> <- ADD HERE IF THIS CLICKED
<div onclick="setBrder('1', 2);" class="overlay">Set</div>
</div>
<div id="img13" class="image">
<img class="" src="..">
<div onclick="setBrder('1', 3);" class="overlay">Set</div>
</div>
</td></tr>
<tr><td>
<div id="img11" class="image">
<img class="" src="..">
<div onclick="setBrder('2', 1);" class="overlay">Set</div>
</div>
<div id="img12" class="image">
<img class="active" src="..">
</div>
<div id="img13" class="image">
<img class="" src="..">
<div onclick="setBrder('2', 3);" class="overlay">Set</div>
</div>
</td></tr>
爲什麼你需要通過所有這些數字參數'setBrder'?爲什麼不通過'this'並使用'.parent()'進入'DIV'? – Barmar