2

ページ内の要素<a>に href attr が含まれていることを確認/dailyTickets/front/user.form.phpし、それを に変更するにはどうすればよい/dailyTickets/front/contacts.form.phpですか?

パス (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) { 
        ...........
    } 
});
4

3 に答える 3

1

ループは必要ありません。jQueryはループを内部的に実行します。セレクターを完全に使用するだけで、一致するすべての要素が変更されます。

$('a[href*="dailyTickets/front/user.form.php"]').attr('href', function(i,href) {
    return href.replace('user.form.php', 'contacts.form.php');
});
于 2013-02-17T14:25:23.783 に答える
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);
});
于 2013-02-17T14:26:24.953 に答える
1

ホスト、クエリ、またはハッシュを変更しないためpathnameに、アンカーのプロパティを使用できます。

$('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");
于 2013-02-17T14:29:47.697 に答える