如何 select 包含引号的元素?

How to select an element that contains quote marks?

当元素的属性包含引号 " 时,如何使用 querySelector 或任何其他 Javascript 选择器?

例如,如果我搜索具有 srchttp://www.example.com/abc"defimg 元素(是的,包含引号的属性):

document.querySelector('img[src="http://www.example.com/abc"def"]');

它得到这个错误:

Uncaught DOMException: Failed to execute 'querySelector' on 'Document':'img[src="http://www.example.com/abc"def"]' is not a valid selector.

显然,我的问题适用于同时使用的单引号 ' 和双引号 "

将引号替换为 &x22;

document.querySelector('img[src="http://www.example.com/abc&x22;def&x22;]');

var test = document.querySelector('img[src="http://www.example.com/abc\"def"]');`

当我写这篇文章时,至少对我来说似乎在 chrome 上工作。

你可以这样用\,JS应该能识别出它是字符串的一部分:

document.querySelector('img[src=\"http://www.example.com/abc\"def\"]');