我尝试使用jquery选择名称空间元素,如下所示:
var $svg = $('svg');
var $elements = $('a[xlink\\|href]', $svg); // Select only a xlink attributes inside svg object
var $allelements = $('a[*|href]', $svg); // Select all a href attributes inside svg object
使用jquery v1.7.2,这有效。对于更高版本(v1.8.3及更高版本),这不再适用。有人知道我现在可以用jquery选择一个名称空间属性吗?或者这是jquery中的错误吗?
答案 0 :(得分:1)
对于$elements
,您可以使用参数.filter()
的{{1}},attributes
.getNamedItem()
;对于"xlink:href"
,您可以使用$allelements
$("a[href]", $svg);
var $svg = $("svg");
// Select only a xlink attributes inside svg object
var $elements = $("a", $svg).filter(function() {
return this.attributes.getNamedItem("xlink:href") !== null
});
// Select all a href attributes inside svg object
var $allelements = $("a[href]", $svg);
console.log("svg", $svg);
console.log("elements", $elements, $elements[0]);
console.log("all elements", $allelements, $allelements[0]);
jsfiddle https://jsfiddle.net/wytfoq3q/3/