微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何选择具有特殊大括号的属性的元素

如何解决我如何选择具有特殊大括号的属性的元素

我有一个 html 按钮,如下所示。它将有一个属性

<button class="first-button" data-content='{8C2E25C4-5E4F-484C-97D0-F42305F30E19}'> my content</button>

单击此按钮时,我需要获取属性并从中创建一个属性选择器,用于具有不同类和相同属性的另一个元素

<button class="second-button" data-content='{8C2E25C4-5E4F-484C-97D0-F42305F30E19}'> my content</button>

我试过 jquery 属性选择器,但没有用

$('data-content=8C2E25C4-5E4F-484C-97D0-F42305F30E19')

我愿意接受 JS 或 jQuery 修复

解决方法

您可以尝试如下:

foreach ($item as $k=>$v)
$('button[data-content="{8C2E25C4-5E4F-484C-97D0-F42305F30E19}"]').addClass("active")
.active {
  color: red
}

,

您需要 [] 来表示 attribute selectors 并且需要在选择器中使用通配符运算符,因为该值具有 {}

$('[data-content*=8C2E25C4-5E4F-484C-97D0-F42305F30E19]').css('color','red')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="first-button" data-content='{8C2E25C4-5E4F-484C-97D0-F42305F30E19}'> my content</button>

,

引号的替代是 jQuery.escapeSelectorCSS.escape

const data = CSS.escape("{8C2E25C4-5E4F-484C-97D0-F42305F30E19}")
$(`button[data-content=${data}]`).addClass("active")
.active {
  color: red
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="first-button" data-content='{8C2E25C4-5E4F-484C-97D0-F42305F30E19}'> my content</button>

<button class="second-button" data-content='{8C2E25C4-5E4F-484C-97D0-F42305F30E19}'> my content</button>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。