下面是html代码:
<div class="wcpa_form_outer" data-attrrelated="["wcpa-select-1658734650073"]">
我尝试了各种方法,但是没有一种方法有效。
jQuery('.wcpa_form_outer[data-attrrelated="["wcpa-select-1658734650073"]"]').append('some html here');
或
jQuery('.wcpa_form_outer[data-attrrelated="[wcpa-select-1658734650073]"]').append('some html here');
或
jQuery('.wcpa_form_outer').data('attrrelated').append('some html here');
有线索吗?
2条答案
按热度按时间mdfafbf11#
属性值中的
"
和/或[]
可能有问题请将其移除,或尝试使用属性值的 part(最相关的部分?):第一个
kb5ga3dv2#
问题是您在属性中使用了HTML实体
"
。这将被转换为文字引号。JQuery不做实体转换,因此它将查找字符串["wcpa-select-1658734650073"]
(带有“&”和all),而不是属性中的实际值["wcpa-select-1658734650073"]
。您可以使用以下方法之一解决此问题(在代码中将实体转换为引号之后)。
1.对属性使用CSS“contains”选择器(
attr*=value
)(KooiInc的答案演示了这一点),或者1.使用一个字符串模板,它允许您在字符串中嵌入两种类型的引号,并获得完全匹配(
attr=value
),如下所示1.通过使用字符串串联构造包含引号的字符串值(例如
'["' + value + '"]'
)1.在尝试查找之前,使用this answer中的
decodeEntities
函数转换属性值(未经测试,已有10年历史)第一个