Javascript 如何查找和编辑元素';href值而不丢失查询参数?

Javascript 如何查找和编辑元素';href值而不丢失查询参数?,javascript,jquery,html,Javascript,Jquery,Html,如何在包含href attr/dailyTickets/front/user.form.php的页面中找到任何元素,然后将其更改为/dailyTickets/front/contacts.form.php 注意,我希望URL查询参数(id)保持在路径(user.form.php)之后。例如,更改此选项: <a id="User_648_648" href="/dailyTickets/front/user.form.php?id=648">ConseillerUser</a&g

如何在包含href attr
/dailyTickets/front/user.form.php的页面中找到任何元素
,然后将其更改为
/dailyTickets/front/contacts.form.php

注意,我希望URL查询参数(id)保持在路径(user.form.php)之后。例如,更改此选项:

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

不需要循环,jQuery会为您进行内部循环,只需直接使用选择器即可更改匹配的任何和所有元素:

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

这将完成此操作并保留所有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);
});
您可以使用不更改主机、查询或哈希

$('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");
$('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);
});
$('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");