我不知道jquery中是否有这样的选项,我尝试过“查找,包含,有”选择器,但无法实现我所需要的。
我有一个我无法访问的软件代码,所以要改变布局,我只能使用CSS和jQuery。
以下是示例代码:
<div class="form-group">
<label>Filter by Day</label>
<div>
<label for="chkDayWednesday" class="cpv-checkbox font-weight-normal">
<input type="checkbox" name="chkDayWednesday" id="chkDayWednesday" checked="checked">
<i></i>
Wednesday
</label>
<br>
<div style="margin-top: -6px; margin-bottom: -18px;">
<label for="chkDayThursday" class="cpv-checkbox font-weight-normal">
<input type="checkbox" name="chkDayThursday" id="chkDayThursday" checked="checked">
<i></i>
Thursday
</label>
</div>
</div>
</div>
我需要在下面的div中添加样式:
<div style="margin-top: -6px; margin-bottom: -18px;">
问题是在页面上有多个类,如:.form-group。 我只能使用一个唯一元素,它是:
id="chkDayWednesday"
或
id="chkDayThursday"
所以问题是,如何基于页面上的这些独特元素,我可以上下移动到具有负边距的div并编辑它?
我试过这样的事情:
$("label:contains('Thursday')").css({"background-color": "yellow"});
但它只选择标签本身。
答案 0 :(得分:2)
根据我对您要将background-color:yellow
添加到div
并且ID为chkDayThursday
的孩子的问题的理解,因为我们没有合适的CSS方法来执行此操作,可以使用众所周知的JQuery。只需找到标识为chkDayThursday
的元素,然后找到代码段中显示的父div
并设置样式!
如果我错过了什么,请告诉我,因为我的未成年人有点朦胧!
$('#chkDayThursday').parent().parent().css({"background-color": "yellow"})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
<label>Filter by Day</label>
<div>
<label for="chkDayWednesday" class="cpv-checkbox font-weight-normal">
<input type="checkbox" name="chkDayWednesday" id="chkDayWednesday" checked="checked">
<i></i>
Wednesday
</label>
<br>
<div style="margin-top: -6px; margin-bottom: -18px;">
<label for="chkDayThursday" class="cpv-checkbox font-weight-normal">
<input type="checkbox" name="chkDayThursday" id="chkDayThursday" checked="checked">
<i></i>
Thursday
</label>
</div>
</div>
</div>
&#13;
答案 1 :(得分:2)
你试过.closest()吗?找到最接近的父元素。 示例:
$("label:contains('Thursday')").closest("div").css("background", "yellow");