Jquery 查找具有unicode字符串作为值的属性
我需要遍历下面的XML树,以便找到glyph,其中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">
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=""/>
<glyph unicode=""/>
</font>
</svg>
。。是你永远都不想维护的东西。像这样的东西
$('svg').find('glyph[unicode=“]”)
更新
我看到DOM在加载后发生了变化,所以您必须搜索它 所以试试这个
$('svg').find('glyph[unicode=""]')
更新
您可以将替换为\u并像这样使用该选择器
==\uf0c5 //hex to Escaped Unicode
==\uf005
因此,图示符的选择器将是
if (cond1) {
$('svg').find('glyph[unicode="\uf0c5"]');
} else if (cond2) {
$('svg').find('glyph[unicode="\uf005 "]');
} else {
// ...
}
注意:您不需要更新html
@akoskm-ah我检查了控制台,发现dom就绪后属性发生了变化。所以我尝试了这个方法,它确实起了作用:Pconsole.log($('svg').find('glyph[unicode='"]').attr('unicode'))
DEMO:如果我有750x呢, 当我第一次find('glyph[unicode='“]”)
,第二次查找('glyph[unicode='“]'
?:)@akoskm我在这里创建了一个fiddle来查找“;”和“;”您需要做的是查看控制台并将unicode属性从那里复制到您的选择器以指定要搜索的元素。我不知道其他方法:/除非位置是静态的,否则您可以使用.eq()谢谢,这些印刷品中的大部分都会导致, 我还编辑了我的答案。是的,它非常混乱:P很难知道你在代码中选择了哪一个,如果我找到另一个解决方案,我会环顾四周并更新答案更新了答案,找到了另一种方法我认为删减
和
并保留字符串中有意义的部分是一种可以承受的权衡,谢谢:)
if (cond1) {
$('svg').find('glyph[unicode="\uf0c5"]');
} else if (cond2) {
$('svg').find('glyph[unicode="\uf005 "]');
} else {
// ...
}