var foundin = $('*:contains("the")').last();
适用于某个页面,但
var foundin = $('*:contains("©")').last();
不返回任何内容,即使'& copy'确实出现在页面源中。我试图逃避'&',但这也不起作用。有没有办法使用contains来查找页面中的html编码字符?
基本上,我想要做的是找到元素包含©并解析它以获得版权所有者。我在这里用正则表达式问了一个类似的问题:select HTML text element with regex?
答案 0 :(得分:1)
快速而肮脏:
var $div = $("<div>");
$.expr[":"].containsEnc = function(a, b, c, d) {
var decoded = $div.html(c[3]).text(); // decode © to ©
return ~a.textContent.indexOf(decoded); // does the element contain the character
};
然后您可以使用containsEnc
作为选择器:
$('body:containsEnc("©")').html('ok');
但它可能不是最安全和最高效的。