通过xlink的jQuery选择器

通过xlink的jQuery选择器,jquery,css,Jquery,Css,这就是我目前必须选择的每个项目,有xlink的海岸线,并把它变成灰色,并把岸上的蓝色灯光 我如何才能更改上述内容以选择任何[xlink\\\:href]并为其设置一个类 我试过$'a[xlink:href]'。attr'class','yellow';但是这并没有给他们一个黄色的等级也许这就是你想要的 也许这就是你想要的 xlink可以在xml标记中找到,并且很难选择,因为它们位于另一个命名空间中 您可以尝试遍历所有元素并修改DOM元素类名 $('a').each(function(i){

这就是我目前必须选择的每个项目,有xlink的海岸线,并把它变成灰色,并把岸上的蓝色灯光

我如何才能更改上述内容以选择任何[xlink\\\:href]并为其设置一个类


我试过$'a[xlink:href]'。attr'class','yellow';但是这并没有给他们一个黄色的等级

也许这就是你想要的


也许这就是你想要的

xlink可以在xml标记中找到,并且很难选择,因为它们位于另一个命名空间中

您可以尝试遍历所有元素并修改DOM元素类名

$('a').each(function(i){
    if($(this).attr('href') == "#coastline") $(this).addClass('gray');
    if($(this).attr('href') == "#onshore") $(this).addClass('green');
    if($(this).attr('href') == "") $(this).addClass('yello');
});
更新:当前选择器应返回null,因为这是名称空间的问题。 我们可以使用特殊选择器a[*| xlink]修复此名称空间

我们知道这是SVG,所以要更改SVG对象类,必须对它们使用attr函数。 如果您只想选择SVG元素中的所有链接,我会这样做:

var $elements = $('a[xlink\\:href]');
$elements.each(function(index, element) {
    element.className = 'my-new-class';
});
JSFiddle:

xlink可以在xml标记中找到,并且很难选择,因为它们位于另一个名称空间中

您可以尝试遍历所有元素并修改DOM元素类名

$('a').each(function(i){
    if($(this).attr('href') == "#coastline") $(this).addClass('gray');
    if($(this).attr('href') == "#onshore") $(this).addClass('green');
    if($(this).attr('href') == "") $(this).addClass('yello');
});
更新:当前选择器应返回null,因为这是名称空间的问题。 我们可以使用特殊选择器a[*| xlink]修复此名称空间

我们知道这是SVG,所以要更改SVG对象类,必须对它们使用attr函数。 如果您只想选择SVG元素中的所有链接,我会这样做:

var $elements = $('a[xlink\\:href]');
$elements.each(function(index, element) {
    element.className = 'my-new-class';
});

jsiddle:

您需要转义特殊字符

var $svg = $('svg');
var $elements = $('a[*|xlink]', $svg);  // Select all a xlink attributes inside svg object


$elements.each(function(index, element) {
    $(element).attr('class', 'my-new-class');  // force class attribute
});

您需要转义特殊字符

var $svg = $('svg');
var $elements = $('a[*|xlink]', $svg);  // Select all a xlink attributes inside svg object


$elements.each(function(index, element) {
    $(element).attr('class', 'my-new-class');  // force class attribute
});

从你的评论中,我认为你有一个smth喜欢

$('a[xlink\\:href]').attr('class', 'yellow');

从你的评论中,我认为你有一个smth喜欢

$('a[xlink\\:href]').attr('class', 'yellow');
[*| href]将同时匹配html href和svg xlink:href,然后使用:not[href]排除html href

在chrome中测试[*|href]将同时匹配html href和svg xlink:href,然后使用:not[href]排除html href


在chrome中测试

我的xlink是什么意思?有插件吗?@jogesh_pi我编辑了原始帖子你在哪里找到的?SVG还是XML?@Y.Puzyrenko SVG我无法更改SVG,因为我的xlink是什么意思?有插件吗?@jogesh_pi我编辑了原始帖子你在哪里找到的?SVG或XML?@Y.Puzyrenko SVG我无法更改SVG,尽管有以下错误:语法错误,无法识别的表达式:a[xlink:href]我猜您必须在上面的原始帖子中键入斜杠时将其转义。您可能想查看这篇关于XML/SVG名称空间和选择器的文章未捕获错误:语法错误,无法识别的表达式:a[xlink:href]我想您必须在上面用斜杠键入原始文章时转义它。您可能想查看这篇关于XML/SVG名称空间和选择器的文章