這看起來應該很簡單。我有一個html片段,我希望通過javascript定位和修改。但不僅僅是innerHTML;我想要替換整個元素。例如:在不使用innerHTML的情況下替換dhtml元素
<div class="content">
<div class="item">
<img src="images/pic1.jpg" />
<a class="clicker" onclick="javascript:doSomethingUseful(##);">Do ##!</a>
<h3>title</h3>
<p>description</p>
</div>
</div>
頁面加載後,我要搶<a class="clicker" ...>Now!</a>
,並與像三個實例替換它:
<div class="content">
<div class="item">
<img src="images/pic1.jpg" />
<a class="clicker" onclick="javascript:doSomethingUseful(1);">Do 1!</a>
<a class="clicker" onclick="javascript:doSomethingUseful(2);">Do 2!</a>
<a class="clicker" onclick="javascript:doSomethingUseful(3);">Do 3!</a>
<h3>title</h3>
<p>description</p>
</div>
</div>
使用prototype.js,我可以很容易做到$$( '唱首歌' )並獲取一個包含元素的數組。我可以使用.innerHTML並獲得'Do ##!'並改變它。但是我想,不,需要將整個元素插入到位。我可以通過兄弟姐妹和父母的奇怪的陰謀,然後走回節點,最終得到我需要的東西,我會這樣做。這似乎是我在這裏錯過了一些東西,這會讓這很容易。
而不是試圖「用三個實例替換它,」也許你應該把它作爲一個參考點,之後放置三個元素,然後將其刪除。 – Sampson 2010-01-22 03:20:23
不要在事件處理程序屬性(如「onclick」)的開始處放置「javascript:」。這是不必要的,並且只能巧合運行(它會創建一個名爲「javascript」的標籤)。 – 2010-01-22 09:47:26