我的Html就是这样,
<div>
<div>
<input id="20171" name="StyleID" type="checkbox" value="true"><input name="StyleID" type="hidden" value="false">
</div>
<div class="imgContainer" style="padding-left: 3px; font-size: 18px; float:left;">
<img src="http://localhost:61137/Images/8501.jpg" width="150px" height="150px">
</div>
<div>
<span id="1002" class="ImagePlating"></span>
<span id="1003" class="ImagePlating"></span>
<span id="1004" class="ImagePlating"></span>
<span id="1005" class="ImagePlating"></span>
</div>
</div>
...
<div >
<div >
<input id="20162" name="StyleID" type="checkbox" value="true">
<input name="StyleID" type="hidden" value="false">
</div>
<div class="imgContainer" style="padding-left: 3px; font-size: 18px; float:left;">
<img src="http://localhost:61137/Images/8498.jpg" width="150px" height="150px">
</div>
<div style="padding-left: 3px; font-size: 18px; float:left;">
<span id="1002" class="ImagePlating"></span>
<span id="1003" class="ImagePlating"></span>
<span id="1004" class="ImagePlating"></span>
<span id="1005" class="ImagePlating"></span>
<span id="1006" class="ImagePlating"></span>
<span id="1007" class="ImagePlating"></span>
</div>
</div>
点击该范围后,我正在尝试使用类&#34; imgContainer&#34;更改div的源代码,同时尝试使用以下Jquery获取父div的复选框ID。 / p>
$(".ImagePlating").on("click", function (e) {
$(this).parent()
.sibilings()
.find('.imgContainer')
.child()
.attr("src", "http://localhost:61137/Images/Img-Loading.gif");
var id = $(this).parent()
.find('input[type='checkbox']')
.attr('id');
});
但是我不知道如何使用JQuery实现这一点,我尝试的上面的Jquery看起来错了。
答案 0 :(得分:3)
尝试以下代码:使用parent()
获取父div,然后使用prev()
查找包含class="imgContainer"
的上一个元素并更改src
。使用相同的$imageContainer
和prev()来查找复选框。
同时使用type="checkbox"
$(".ImagePlating").on("click", function (e) {
var $imageContainer = $(this).parent().prev('.imgContainer');
$imageContainer.find('img').attr("src", "http://localhost:61137/Images/Img-Loading.gif");
var id = $imageContainer.prev().find('input[type="checkbox"]').attr('id');
});
答案 1 :(得分:2)
你可以这样使用
$(".ImagePlating").click(function () {
$(this).parent().prev().find("img").attr("src", "new src");
});
.prev()
将选择正上方的元素。然后使用find()
你可以找到孩子们。
答案 2 :(得分:1)
使用
$(".ImagePlating").on("click", function (e) {
$(this).parent()
.prev('.imgContainer') //Image container is not a sibling
.find('img')
.attr("src", "http://localhost:61137/Images/Img-Loading.gif");
var id = $(this).parent()
.find('input[type='checkbox']')
.attr('id');
});