最初のクリックでリストアイテムのテキストとhrefを変更しようとしています。2回目のクリックで、新しいURLに移動します。これらは私が試したいくつかの方法です:
HTML
<ul class="nav">
<li><a href="#">Click me</a></li>
</ul>
jQuery
この方法でテキストが変更され、すぐに新しいURLに移動します。
$('ul.nav li:nth-child(1) a[href="#"]').click(function() {
$(this).text('New Text');
$(this).attr('href', 'http://www.website.com');
});
2番目の方法では、テキストとhrefを切り替えますが、preventDefault()を使用すると、セレクターで[href = "#"]を指定しても、新しいURLに移動できなくなります。
$('ul.nav li:nth-child(1) a[href="#"]').click(function(e) {
$(this).text('New Text');
e.preventDefault();
$(this).attr('href', 'http://www.website.com');
});