如果我有一堆像这样的链接:
<a href="foo.com">blah</a> and this <a href="example.com">one</a> and here is another <a href="foo.com"></a>.
如何将类添加到链接到foo.com的所有链接?
答案 0 :(得分:11)
要确保获得http://foo.com,http://bar.foo.com/about,而不是http://bazfoo.com,请尝试:
$("a[href*='/foo.com'], a[href*='.foo.com']").addClass('your_class');
这是一个使用正则表达式的更强大的解决方案,请注意,这可能比较慢,但检查域是否在开始:
$("a").filter(
function(){
return $(this).attr('href')
.match(/^https?:\/\/([^/]*\.)?foo\.com(\/.*|$)/i);
})
.addClass('your_class');
以下是一些测试用例:http://jsbin.com/oruhu
(您可以在此处进行编辑:http://jsbin.com/oruhu/edit)。
答案 1 :(得分:3)
如果你有foo域上不同页面的链接,如:
<a href="http://foo.com/eggs.html">
<a href="http://foo.com/bacon.html">
然后您可以使用这样的选择器:
$("a[href^=http://foo.com/]").addClass("newClass")
将找到以“http://foo.com/”开头的所有链接 或
$("a[href*=/foo.com/]").addClass("newClass")
将找到包含“/foo.com /”
的所有链接答案 2 :(得分:1)
$("a[href='foo.com']").addClass('your_class')
答案 3 :(得分:0)
中平凡:
$("a[href='http://foo.com']").addClass('foo');
但这假设与URL完全匹配。