Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 查找具有unicode字符串作为值的属性_Jquery_Unicode_Svg - Fatal编程技术网

Jquery 查找具有unicode字符串作为值的属性

Jquery 查找具有unicode字符串作为值的属性,jquery,unicode,svg,Jquery,Unicode,Svg,我需要遍历下面的XML树,以便找到glyph,其中unicode= <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <svg xmlns="http://www.w3.org/2000/svg">

我需要遍历下面的XML树,以便找到glyph,其中
unicode=

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
          "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
    <font>
        <glyph unicode="&#xf0c5;"/>
        <glyph unicode="&#xf005;"/>
    </font>
</svg>
。。是你永远都不想维护的东西。

像这样的东西

$('svg').find('glyph[unicode=“]”)

更新

我看到DOM在加载后发生了变化,所以您必须搜索它 所以试试这个

 $('svg').find('glyph[unicode=""]')
更新

您可以将&#x替换为\u并像这样使用该选择器

&#xf0c5;==\uf0c5 //hex to Escaped Unicode
&#xf005;==\uf005 
因此,图示符的选择器将是

if (cond1) {
    $('svg').find('glyph[unicode="\uf0c5"]');
} else if (cond2) {
    $('svg').find('glyph[unicode="\uf005 "]');
} else {
    // ...
}
注意:您不需要更新html


@akoskm-ah我检查了控制台,发现dom就绪后属性发生了变化。所以我尝试了这个方法,它确实起了作用:P
console.log($('svg').find('glyph[unicode='"]').attr('unicode'))
DEMO:如果我有750x呢, 当我第一次
find('glyph[unicode='“]”)
,第二次
查找('glyph[unicode='“]'
?:)@akoskm我在这里创建了一个fiddle来查找“;”和“;”您需要做的是查看控制台并将unicode属性从那里复制到您的选择器以指定要搜索的元素。我不知道其他方法:/除非位置是静态的,否则您可以使用.eq()谢谢,这些印刷品中的大部分都会导致, 我还编辑了我的答案。是的,它非常混乱:P很难知道你在代码中选择了哪一个,如果我找到另一个解决方案,我会环顾四周并更新答案更新了答案,找到了另一种方法我认为删减
&#x
并保留字符串中有意义的部分是一种可以承受的权衡,谢谢:)
if (cond1) {
    $('svg').find('glyph[unicode="\uf0c5"]');
} else if (cond2) {
    $('svg').find('glyph[unicode="\uf005 "]');
} else {
    // ...
}