2012-06-15 61 views
6

我想在字符串中使用一個變量。我試圖做很多次,但它只是獲取變量名稱。如何在jquery中使用字符串中的變量

<head> 
    <script type="text/javascript" src="jquery-1.7.2.js"></script> 
    <script type="text/javascript"> 
     $(function(){ 
      $("a").click(function(){ 
      var id= $(".id").html(); 
      $('.html').html("<div class='new' id=+id+>jitender</div>") 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <div class="wrap"> 
     <a href="#">Make Html</a> 
     <div class="html"></div> 
     <div class="id">first</div> 
    </div> 
</body> 

回答

15

連接可以用+進行如下。

$('.html').html("<div class='new' id='" + id + "'>jitender</div>"); 

參考:

+0

u能請告訴我什麼是技巧或方法 – Carlos

+0

@amit這是字符串連接。你可以在[** MDN **](https://developer.mozilla.org/en/JavaScript/Reference/Operators/String_Operators)中閱讀。 – VisioN

+1

不要將任意數據直接連接成HTML。你不會逃避任何事情,打開無效的HTML和注入問題。 – Brad

-1

試試這個

$(".html").html("<div class='new' id='"+id+"'>jitender</div>") 
+0

不要將任意數據直接連接成HTML。你不會逃避任何事情,打開無效的HTML和注入問題。 – Brad

-2

JavaScript不支持雙引號內的擴張變量。關閉(並重新打開)引號並使用+運算符,就像您已經做過的那樣。

"<div class='new' id='" + id + "'>"

這裏id是可變的

+0

不要將任意數據直接連接到HTML。你不會逃避任何事情,打開無效的HTML和注入問題。 – Brad

1
<script type="text/javascript"> 
$(function(){ 
$("a").click(function(){ 
    var id= $(".id").html(); 
    $('.html').html("<div class='new' id='"+id+"'>jitender</div>"); 
    }) 
}) 

1

這樣做是正確的方法是採取jQuery的HTML構造的優勢來進行所有必要的轉義爲您提供:

$("a").click(function() { 
    var id= $(".id").html(); 
    // create new element 
    $('<div>', { 
     class:'new', 
     id: id, 
     text: 'jitend' 
    }).appendTo('.html'); // and append it 
}); 
相關問題