例如,我想检查链接是否具有特定域,或者末尾是否已附加参数。
有没有办法做像〜=也许这样的正则表达式?
目前,我有
alert(ref);
$j("a[href*='mysite']").each(function(i){
alert("hello");
$j(this).attr('href',$j(this).attr('href') + "?ref=" + $j.cookie.get("tb_ref"));
});
但是选择器不起作用。 (我从未看到 Hello
警报,但我播种了 alert ref
警报。
我的a标签
<a href="http://domain.mysite.com/">yeah, link</a>
<a href="http://google.com/">g, link</a>
最佳答案
使用substring/contains选择器:
$("选择器[name*='mystring']")
找到属性 name="somemystring"
如果您要查找以空格分隔的整个单词,请使用 whole word selector :
$("选择器[name~='mystring']")
发现属性名称=“some mystring is good”
编辑我从上面获取了您的代码并创建了一个 jsFiddle为了它。我看到一个“Hello”警报弹出窗口。 (我没有对 alert(ref)
发出警报,因为我不知道 ref
是什么。)因此选择器适用于您的 href
属性。您正在使用与正常情况不同的 jQuery(正常 = $
,您正在使用 $j
)。您是否正确注册了该别名?如果您使用 $
或 jQuery
来代替,您的代码可以工作吗?
关于jQuery:如何检查元素属性是否包含字符串的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3611295/