就像,我想检查链接是否具有某个域,或者是否已将参数附加到末尾。
有没有办法做一个正则表达式的事情,比如〜=也许?
目前,我有
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 href="http://domain.mysite.com/">yeah, link</a>
<a href="http://google.com/">g, link</a>
答案 0 :(得分:14)
使用substring/contains选择器:
$("selector[name*='mystring']")
找到属性name =“somemystring”
如果您要查找由空格分隔的整个单词,请使用whole word selector:
$("selector[name~='mystring']")
找到属性name =“some mystring is good”
编辑我从上面获取了您的代码并为其创建了jsFiddle。我看到一个'Hello'警告弹出窗口。 (我没有对alert(ref)
发出警报,因为我不知道ref
是什么。)因此,选择器适用于您的href
属性。你正在使jQuery与正常情况不同(正常= $
,你正在使用$j
)。你是否正确注册了这个别名?如果您改为使用$
或jQuery
,那么您的代码是否有效?
答案 1 :(得分:2)
您可以使用the attribute contains selector(*=
),如下所示:
$("a[href*=somedomain.com]")
答案 2 :(得分:1)
如果链接为<a id='link' href='www.google.com/myparam'></a>
,并且您想要告诉链接是否包含myparam
,请使用jQuery / javascript:
/myparam/.test($("#link").attr('href'))