dom 中的属性但在 jQuery 选择器中不可用
Attribute in dom but not usable in a jQuery selector
我在这里遇到了一个非常奇怪的情况。
对于上下文,我使用的是 this svg-edit fork 的修改版本,我需要添加自定义 html 属性 (data-propzone="true")。
但奇怪的是,当我使用 svg-edit "setSvgString" 函数加载我的 svg 时,我不能将我的属性用作选择器,你可以在屏幕截图中看到我可以使用元素 ID 甚至填充value 并且工作正常,它使用我的自定义属性检索我的元素,但使用 $('[data-propzone="true"]')
结果为空...
我的自定义属性元素位于 dom 中,如您所见:
我真的不知道这里出了什么问题,我一直使用数据属性选择器,从来没有遇到过问题。
很抱歉您无法在演示页面中重现它,因为我必须进行修改以允许添加自定义属性,因此您无法重现此问题,我希望屏幕截图足够了,如果有人作为领导帮助我理解这将是一个很大的帮助!
如果你这样尝试会怎样$('*[data-propzone="true"]')
?
你可以试试这个代码
var arr = $('*').filter(function () {
return $(this).attr('data-propzone') === "true";
});
console.log(arr);
我在这里遇到了一个非常奇怪的情况。
对于上下文,我使用的是 this svg-edit fork 的修改版本,我需要添加自定义 html 属性 (data-propzone="true")。
但奇怪的是,当我使用 svg-edit "setSvgString" 函数加载我的 svg 时,我不能将我的属性用作选择器,你可以在屏幕截图中看到我可以使用元素 ID 甚至填充value 并且工作正常,它使用我的自定义属性检索我的元素,但使用 $('[data-propzone="true"]')
结果为空...
我的自定义属性元素位于 dom 中,如您所见:
我真的不知道这里出了什么问题,我一直使用数据属性选择器,从来没有遇到过问题。
很抱歉您无法在演示页面中重现它,因为我必须进行修改以允许添加自定义属性,因此您无法重现此问题,我希望屏幕截图足够了,如果有人作为领导帮助我理解这将是一个很大的帮助!
如果你这样尝试会怎样$('*[data-propzone="true"]')
?
你可以试试这个代码
var arr = $('*').filter(function () {
return $(this).attr('data-propzone') === "true";
});
console.log(arr);