2013-03-21 93 views
1

我想在div標籤上打印文本。這裏我有三個數組。 x_array和y_array繼承x和y值的cooridantes,txt_array包含文本。基於文本的x和y座標文本將在div標籤中顯示。下面的代碼會顯示預期的輸出,但它只會顯示最後一個數組元素。剩下的將被刪除。我想顯示基於x和y座標的所有文本。請幫助我。如何在div標籤內打印文本

<script> 
     var i=0; 
     // var obj={"A","B","C","D"}; 
    $(document).ready(function(){ 
$("#myimg").hover(function(){ 

    var x1=["50","100","150","200"]; 
    var y1=["50","100","150","200"]; 
    var txt1=["Text1","Text2","Text3","Text4"]; 
    var i=0; 

    for(var i=0;i<4;i++) 
     { 

    var X=x1[i]; 
    var Y=y1[i]; 
    var txt=txt1[i]; 

     $("#myimg").append($("#test").offset({left:X,top:Y}));      
     $("#test").html(txt); 


    } 

}); 
}); 
    </script> 

Following is the out put

回答

1

的ID 必須是唯一的。請嘗試使用classes代替。

即使允許多個ID,您使用.html()也會覆蓋所有#test元素的HTML。你需要通過腳本動態創建的元素:

var test = $("<span class='test'></span>"); 
    test.html(txt); 
    $("#myimg").append(test.offset({left:X,top:Y})); 

同樣的,如果你有多個#myimg元素,對於那些使用類了。

+0

你寫的最後一行將改變每個元素的HTML類測試。 – kuncajs 2013-03-21 16:26:04

+0

是的,我只是發現,點擊提交答案後,我已經修改了它。 :-) – 2013-03-21 16:29:57

+0

@ user1990992檢查修改後的答案。 – 2013-03-21 16:32:10