Javascript 在find()选择器中动态使用当前域的jQuery
我试图搜索字符串Javascript 在find()选择器中动态使用当前域的jQuery,javascript,jquery,Javascript,Jquery,我试图搜索字符串$div,而不是选择脚本所在域的a标记。这是有效的,静态地进入域 $div.find("a:not([href*=mywebsite])").attr('rel', function(i, val) { ... return val; }); 但这不起作用 var $this_domain = window.location.hostname; // $this_do
$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;
}
你知道为什么这行不通吗
提前感谢。很可能,
$this\u domain
将是一个至少包含一个
的字符串,但是
在jQuery选择器中有一个。在找到元素之前,您需要执行以下操作。试试这个:
$div.find("a:not([href*=" + $.escapeSelector($this_domain) + "])")
.attr( ... );
此外,需要指出的是,您没有将值用引号括起来,这可能会导致错误。如果没有看到您试图选择的
a
元素的HTML以及$This\u domain
(它不应该有$
前缀,因为它是字符串,而不是jQuery对象)