2013-02-17 48 views
2

如何在页面中找到任何元素<a>包含href attr /dailyTickets/front/user.form.php,然后将其更改为/dailyTickets/front/contacts.form.php如何在不丢失查询参数的情况下查找并编辑元素的href值?

请注意,我想在路径(user.form.php)后面保留URL查询参数(id)。例如,改变这一点:

<a id="User_648_648" href="/dailyTickets/front/user.form.php?id=648">ConseillerUser</a> 

这样:

<a id="User_648_648"href="/dailyTickets/front/contacts.form.php?id=648">ConseillerUser</a> 

我开始用这个,但我不知道该如何结束它:

$('a[href*="dailyTickets/front/user.form.php"]').each(function() { 
    if ($(this).children().length == 0) { 
     ........... 
    } 
}); 

回答

1

有没有需要一个循环,jQuery为你做了interally,只是使用选择器彻底改变任何和所有匹配的元素:

$('a[href*="dailyTickets/front/user.form.php"]').attr('href', function(i,href) { 
    return href.replace('user.form.php', 'contacts.form.php'); 
}); 
+0

tnk u so much much^_^ – user2077308 2013-02-17 14:37:11

+0

@ user2077308 - 不客气! – adeneo 2013-02-17 14:37:37

1

这将这样的伎俩,并保持所有的GET指标的影响:

$('a[href*="dailyTickets/front/user.form.php"]').attr('href', function() { 
    var search = '/dailyTickets/front/user.form.php',  // 'user.form.php' 
     replace = '/dailyTickets/front/contacts.form.php'; // 'contacts.form.php' 
    return this.href.replace(search, replace); 
}); 
+0

tnk u @dfsq^_^ – user2077308 2013-02-17 14:45:39

1

可以使用pathname property of the Anchor不改变主机,查询或哈希值。

$('a[href*="dailyTickets/front/user.form.php"]').each(function() { 
    this.pathname = "dailyTickets/front/contacts.form.php"; // don't assign to href 
}); 
// or just 
$('a[href*="dailyTickets/front/user.form.php"]').prop("pathname", "dailyTickets/front/contacts.form.php"); 
+0

tnks my bro^_ ^ – user2077308 2013-02-17 14:46:04

相关问题