Javascript 在具有数据id属性的选择器中使用变量
我有一些具有数据属性的图像,如:Javascript 在具有数据id属性的选择器中使用变量,javascript,css-selectors,Javascript,Css Selectors,我有一些具有数据属性的图像,如: <img id="popup" class="Absolute_Center is_Image" alt="Girl Popup" data-picture=""> <img src="https://s3-us-west-2.amazonaws.com/example.jpg" data-picture = "1"> <img src="https://s3-us-west-2.ama
<img id="popup" class="Absolute_Center is_Image" alt="Girl Popup" data-picture="">
<img src="https://s3-us-west-2.amazonaws.com/example.jpg" data-picture = "1">
<img src="https://s3-us-west-2.amazonaws.com/example2.jpg" data-picture = "2">
etc...
在这里,我将检索序列中的下一个图像元素对象,然后将其插入到#mypopup图像元素中。但是,当我运行此命令时,我收到一条非法字符串消息。有人知道如何将变量合并到querySelector属性选择器中吗?提前感谢…当您使用like[attr=value]
时
属性值必须是CSS或
您没有引用该值,因此将其解析为。但是,
在CSS中,标识符[…]不能以数字开头
因此,您的数字选择器无效。你可以:
- 转义该值,例如,如果
为y
则需要123
\31 23
document.querySelector('[data-picture =' + CSS.escape(y) + ']')
- 使用字符串,例如,如果您知道
不包含引号y
document.querySelector('[data-picture = "' + y + '"]')
parseInt
。我会使用y=+y+1
。当与字符串连接时,它已经被强制为字符串,因此不需要toString
。就是这样!。谢谢,我一直在努力解决这个问题。但你在一分钟内就搞定了。我必须研究+y+1,因为我不知道如何增加字符串。只有一件事。我可以使用data picture=“1”,因为我将一指定为字符串,对吗?
document.querySelector('[data-picture = "' + y + '"]')