Javascript 在版本1.7.2之后更新jquery后,不可能使用jquery的命名空间选择器
我尝试使用jquery选择名称空间元素,如下所示:Javascript 在版本1.7.2之后更新jquery后,不可能使用jquery的命名空间选择器,javascript,jquery,svg,namespaces,Javascript,Jquery,Svg,Namespaces,我尝试使用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 在jQueryV1.7.2
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
在jQueryV1.7.2中,这是有效的。在更高版本(v1.8.3及更高版本)中,这不再有效。有人知道我现在如何用jquery选择一个带名称空间的属性吗。?或者这是jquery中的一个bug
svg示例:
对于
$elements
您可以使用.filter()
,属性.getNamedItem()
和参数“xlink:href”
;对于$allegements
您可以使用$(“a[href]”,$svg)代码>
var$svg=$(“svg”);
//仅选择svg对象内的xlink属性
var$elements=$($a',$svg).filter(function(){
返回此.attributes.getNamedItem(“xlink:href”)!==null
});
//选择svg对象内的所有a href属性
var$allegements=$($a[href],$svg);
log(“svg”,$svg);
log(“elements”、$elements、$elements[0]);
log(“所有元素,$allelements,$allelements,$allelements[0])代码>
示例link01-椭圆上的链接
只有$allegements
应该找到一些东西。我想对于第一个,您的意思是a[xlink\\\\:href]
。(但是现在无法测试jQuery问题)。我仍然无法测试,但是svg中的HTMLAnchor会使svg无效。SVGAnchor不能有这样的textNode。@Kaido“svg中的HTMLAnchor使svg无效”?未编写svg
。仅在选择元素时发布。需要更改什么?啊,我知道是OP的代码。textNode至少应该包装在SVGText(
)元素中。@Kaido更新了stacksnippets,将
包含在
中。这回答了我的问题