あなたの質問(タイトル)への答えは、置き換えることです
document.getElementById('about').href = '#';
と
$('#about').attr('href','#');
ただし、これが実際に問題の解決に役立つかどうかはわかりません。あなたが何をしようとしているのかわからないからです。あなたのコメントとコード サンプルに基づいて、ある種のウィザードを実行しようとしているように見えますが、投稿した内容を考えると実際にどのように機能するかわかりません。
アップデート:
たぶん次のようなものです:
<a href="link.php?test=true" onclick="request(this)" target="_blank" class='request'></a>
<a id="step2" href="next.php">Step 2</a>
<script language="javascript">
$(function() {
var requests = 16;
$('#step2').click( function() {
alert('Not finished');
return false;
});
$('.request').click( function() {
var $this = $(this); // save jQuery reference to element clicked
// swap indicator image source
$this.find('img:first').attr('src','images/clear.gif');
// if the number of flipped indicators equals the number of requests
// remove the click handler from the step 2 link
// this removes the alert and allows the user to proceed
if ($('.request img[src="images/clear.gif"]').length == requests) {
$('#step2').unbind('click');
}
...do something with the href for this request via ajax???
// replace this handler with one that simply returns false
// and remove the href since we're done with this request
$(this).unbind('click').attr('href','#').click( function() { return false; } );
// stop the default action for the request
return false;
});
</script>