如何使用jQuery在页面上基于另一个随机元素编辑随机元素?

时间:2017-12-17 16:34:30

标签: jquery jquery-ui

我不知道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"});

但它只选择标签本身。

2 个答案:

答案 0 :(得分:2)

根据我对您要将background-color:yellow添加到div并且ID为chkDayThursday的孩子的问题的理解,因为我们没有合适的CSS方法来执行此操作,可以使用众所周知的JQuery。只需找到标识为chkDayThursday的元素,然后找到代码段中显示的父div并设置样式!

如果我错过了什么,请告诉我,因为我的未成年人有点朦胧!

&#13;
&#13;
$('#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;
&#13;
&#13;

答案 1 :(得分:2)

你试过.closest()吗?找到最接近的父元素。 示例:

$("label:contains('Thursday')").closest("div").css("background", "yellow");