2013-10-03 45 views
3

我想用標題克隆問號。一切正常,但當我將鼠標懸停在新問號上時,工具提示出現在第一個問號上。任何想法?克隆後出現jQuery衝突

我正在使用jQuery和醉tool tool的提示。

Demo here

<div id="me">click here</div> 
<ul id="cloneme"> 
    <li> 
     <p class="help-mark" original-title="it's me tipsy">?</p> 
    </li> 
</ul> 


$('#me').on('click', function(){ 
    $('ul#cloneme li:first-child').clone(true).appendTo('ul#cloneme') 
}) 

$(".help-mark").tipsy({  
      fade: true, 
      offset: 10, 
      opacity: 1, 
      gravity: 'nw' 
     }); 

Demo

+0

的ID問題是你要克隆'li'。當你克隆它時,你將它的所有屬性和屬性都與它一起使用,所以你也要複製這些醉人的屬性,因此它仍然指向第一行的彈出窗口。 您可能想嘗試創建新元素,然後將其追加到列表中。 – Kierchon

+0

我做到了,但它沒有工作 – Fury

回答

1

你需要做的是不使用克隆(由Kierchon上述原因),而是隻需要創建一個新的<li>元素,並將其追加到<ul>

jsFiddle here

這工作:

$('#me').on('click', function(){ 
    $('ul#cloneme').append('<li><p class="help-mark" original-title="another one">?</p></li>'); 
    $(".help-mark").tipsy(); 
}); 

$(".help-mark").tipsy({  
    fade: true, 
    offset: 1, 
    opacity: 1, 
    gravity: 'nw' 
}); 

艾薩克(OP)提出這個修改 - 一個偉大的想法:

$('#me').on('click', function(){ 
    $('ul#cloneme').append($('ul#cloneme li:first-child').html()); 
    $(".help-mark").tipsy(); 
}); 
+0

問題是我沒有任何時間只有這個問號我克隆李標籤它充滿了標籤。開始時,一些標籤將通過php加載,其餘的將通過添加新項目 – Fury

+0

@IsaacRajaei進行克隆**作爲附註**:請不要在其他人的答案中寫下建議的解決方案,即使這是不對的或有更好的解決方案。使用評論或回答你自己的問題。 – informatik01

0

我假設你有多個問題爲每一個唯一的ID EM。
在這種情況下,您的問題是您撥打tipsy懸停的​​屬性,但您必須使用id。因爲這些問題中的每一個都有相同的類名稱help-mark因此,在調用醉酒時,將調用具有此類名稱的第一個對象。

使你的代碼應該是這樣的:

<div id="me">click here</div> 
<ul id="cloneme"> 
    <li> 
     <p class="help-mark" id="the_question_id" original-title="it's me tipsy">?</p> 
    </li> 
</ul> 

,然後使用id代替class這樣的:

$("#the_question_id").tipsy({  
     fade: true, 
     offset: 10, 
     opacity: 1, 
     gravity: 'nw' 
    }); 

the_question_id應該是問題

+0

謝謝你的回答我用它來添加一個新項目,我不知道有多少用戶可能會添加到列表中 – Fury

+1

然後每個項目我需要添加$('id_name')。tipsy();這不是個好主意 – Fury