2014-02-26 104 views
0

道歉被取代,如果這是一個弱智的問題...查找當前元素使用jQuery .replaceWith()

好了,所以基本上一堆,我真的不希望被渲染的元素,所以我想把這些元素的文本,並使其成爲不同的元素。所以我認爲,在jQuery中,yay,.replaceWith()會使這個問題變得輕而易舉。

$('.register .hint').replaceWith('<div class="tooltip">' + $(this).text() + '</div>'); 

但是,$(this)當然是指文檔,而不是我替換的元素。它很容易解決...

$('.register .hint').each(function() { 
    $(this).replaceWith('<div class="tooltip help"> <span>?</span><div class="content"><b></b><p>' + $(this).text() + '</p></div></div>'); 
}); 

我只是想知道是否有辦法讓我在第一個例子中的行爲元素?

回答

2

replaceWith()需要一個回調函數

$('.register .hint').replaceWith(function() { 
    return '<div class="tooltip">' + $(this).text() + '</div>'; 
}); 

演示:​​

+0

啊,當然,我莫名其妙地錯過了的文件中。非常感謝 – Hazza