gpt4 book ai didi

javascript - jQuery 中最接近的函数并提取元素

转载 作者:行者123 更新时间:2023-11-28 18:34:15 24 4
gpt4 key购买 nike

我有一个 html 片段如下:

<div id="samplediv">
<ul>
<li name="A">
<a id="A">
</li>

<li name="B">
<a id="B">
</li>
</ul>
</div>

我有一个文本名为:

var text = "B";

我想检查文本是否与 li 的任何元素匹配,并为与文本不匹配的 anchor 元素添加类名 "disable" 。我的情况是我想添加一个名为 "disable" 的类

<a id="A">

这是我尝试过的:

$("#samplediv li").each(function() {

if($(this).name != text){
$(this).closest("a").addClass("disabled");
}
});

但是这里的东西是$(this).name正在评估为 "undefined" 。我缺少什么?

编辑:由于拼写错误,错过了标签

最佳答案

有多个问题,

  • $(this) 返回一个没有 name 属性的 jQuery 对象,您可以使用 $(this).attr('name')
  • .closest() 用于查找祖先元素,但 ali 元素的后代,因此您需要使用find()

您可以找到所有没有给定名称的 li 元素,然后找到其中的 a 元素,如下所示

var text = 'B';
$("#samplediv li").not('[name="' + text + '"]').find("a").addClass("disabled");
a.disabled {
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="samplediv">
<ul>
<li name="A">
<a id="A">a</a>
</li>

<li name="B">
<a id="B">b</a>
</li>
</ul>
</div>

关于javascript - jQuery 中最接近的函数并提取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37427986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com