我有一个名为a
(var a = "test"
)的变量,我需要将其放在包含单词{的页面上所有href
元素的所有a
属性中{1}}。所有ONE
值都不相同,但始终包含单词href
例如我想改变这个:
ONE
对此:
href="/page2.php?how=GO-ONE-24-title-stay"
答案 0 :(得分:2)
这样的东西?
$('a[href*="ONE"]').each(function(){
$(this).attr('href', $(this).attr('href').replace('ONE', 'ONE-test'));
});
你的例子有点误导,所以如果你的意思是测试值是变量,那么你需要这样的东西:
var add = 'test';
$('a[href*="ONE"]').each(function(){
var currentHref = $(this).attr('href');
$(this).attr('href', currentHref.replace('ONE', 'ONE-' + add));
});
答案 1 :(得分:2)
答案 2 :(得分:2)
您可以通过为attr()
方法提供函数来实现此目的;不需要显式循环。试试这个:
var a = 'test';
$('a[href*="-ONE-"]').attr('href', function(i, href) {
return href.replace('-ONE-', '-ONE-' + a + '-';
});
请注意,初始jQuery选择器将要修改的元素限制为仅在ONE-
属性中包含href
的元素。
答案 3 :(得分:1)
试试这个..
$(document).ready(function(){
var test = "test";
$("a").each(function() {
var href_val = $(this).prop("href");
if(href_val.indexOf("ONE") >= 0){
href_val = href_val.replace("ONE", "ONE-"+test);
$(this).prop("href", href_val);
}
});
});