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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用jQuery在页面上基于另一个随机元素编辑随机元素?相关的知识,希望对你有一定的参考价值。

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

但它只选择标签本身。

答案

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

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

根据我对你想要将background-color:yellow添加到带有id div的孩子的chkDayThursday这个问题的理解,因为我们没有适当的CSS方法来实现这一点,所以我们可以选择一个众所周知的JQuery。只需找到id为chkDayThursday的元素,然后找到片段中显示的父div并设置样式!

如果我错过了什么,请告诉我,因为我的理解有点模糊!

$('#chkDayThursday').parent().parent().css({"background-color": "yellow"})
<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>

以上是关于如何使用jQuery在页面上基于另一个随机元素编辑随机元素?的主要内容,如果未能解决你的问题,请参考以下文章

当我使用 CodeMirror 在 TextArea 中编辑代码时,如何使用 js 或 jQuery 将其反映到另一个 textarea 中

jQuery - 如果所有子元素都具有相同的类,则将附加类添加到页面上的另一个元素

如何使用jquery从DOM中删除随机生成的属性?

JQuery:单击文档准备好的随机链接

如何用jquery获得页面元素到窗口顶部的距离?

JQuery SumoSelect - 页面上具有不同宽度的多个实例