Javascript JQuery";包括「;对html编码不返回任何内容

Javascript JQuery";包括「;对html编码不返回任何内容,javascript,jquery,html,encoding,Javascript,Jquery,Html,Encoding,在页面上工作,但是 var foundin = $('*:contains("the")').last(); 不返回任何内容,即使“复制”确实出现在页面源中。我试图避开“&”,但也不起作用。有没有一种方法可以使用contains在页面中查找html编码的字符 基本上,我想做的是找到元素包含©并解析它以获得版权所有者。我在这里针对regex问了一个类似的问题:又快又脏: var foundin = $('*:contains("&copy")').last(); 不过,这可能不是最安全

在页面上工作,但是

var foundin = $('*:contains("the")').last();
不返回任何内容,即使“复制”确实出现在页面源中。我试图避开“&”,但也不起作用。有没有一种方法可以使用contains在页面中查找html编码的字符

基本上,我想做的是找到元素包含©并解析它以获得版权所有者。我在这里针对regex问了一个类似的问题:

又快又脏:

var foundin = $('*:contains("&copy")').last();
不过,这可能不是最安全、最有效的方法


你不觉得
…>-1
~…
更清晰?我只是想一想。@minitech:可能吧,但是因为
~
基本上从未被使用过,所以它对我来说有了“contains”的意思……好吧,这确实管用,但它并不能真正帮助我做什么,因为我想它返回了最长的div元素containing©?我编辑了最初的问题,我基本上是在分析版权所有者。@tarayani:不,事实上一点也不。div只是一个临时工具,用于使浏览器解码
&复制
。您可以使用选择器选择包含
©
(或其他字符)的所有元素。@tarayani:这是一个与您的场景更相关的提琴,我想:。您可以使用原始选择器,但使用
containsEnc
而不是
contains
。替换为&;那将完全匹配。
var $div = $("<div>");

$.expr[":"].containsEnc = function(a, b, c, d) {
    var decoded = $div.html(c[3]).text(); // decode &copy to ©

    return ~a.textContent.indexOf(decoded); // does the element contain the character
};
$('body:containsEnc("&copy")').html('ok');