我尝试搜索字符串$div
,而不是选择脚本所在域的a
标记。这有效,静态进入域名......
$div.find("a:not([href*=mywebsite])").attr('rel', function(i, val) {
...
return val;
});
但这不起作用......
var $this_domain = window.location.hostname;
// $this_domain.toString();
$div.find("a:not([href*=" + $this_domain + "])").attr('rel', function(i, val) {
...
return val;
}
为什么这不起作用的任何想法?
提前致谢。
答案 0 :(得分:1)
最有可能的是,$this_domain
将是一个至少有一个.
的字符串,但.
在jQuery选择器中有一个special meaning。在找到元素之前,您需要escape the value。试试这个:
$div.find("a:not([href*=" + $.escapeSelector($this_domain) + "])")
.attr( ... );
此外,只是要指出,你没有将值包装在引号中,这可能会导致错误。