Javascript 查找具有特定属性的SVG元素
Javascript 查找具有特定属性的SVG元素,javascript,jquery,Javascript,Jquery,if(element.find('text[数据颜色]、path[数据颜色]、rect[数据颜色]、line[数据颜色]、circle[数据颜色]、polygon[数据颜色]、eliple[数据颜色]、polyline[数据颜色])).attr('data color')==color) 什么是更漂亮/更好的书写方式?如果将标签存储在say数组中,则可以稍微提高可读性: const selector = [ 'text', 'path', 'rect', 'line', 'c
if(element.find('text[数据颜色]、path[数据颜色]、rect[数据颜色]、line[数据颜色]、circle[数据颜色]、polygon[数据颜色]、eliple[数据颜色]、polyline[数据颜色])).attr('data color')==color)
什么是更漂亮/更好的书写方式?如果将标签存储在say数组中,则可以稍微提高可读性:
const selector = [
'text',
'path',
'rect',
'line',
'circle',
'polygon',
'ellipse',
'polyline'
].map(tag => `${tag}[data-color]`)
if (element.find(selector).attr('data-color') === color) {}
你真的在乎标记名吗?是的,可以是其中的任何一个,但肯定是其中的一个。问题是:是否还有其他标记具有
数据颜色,你想忽略它们?例如,你是否有(比如)带有数据颜色的标记
,并且你有意跳过它?嗯,不。我需要看看每一个,找出哪一个有价值。抱歉,但你似乎不理解我。SVG图形中是否有其他元素也有数据颜色
,您希望忽略这些元素?因为如果不是的话,“[data color]”
本身就是您所需要的(正如我在回答中所说的)。只有当您有其他标签,而不是您列出的标签,并且它们有数据颜色
时,才不会这样做。