2012-06-15 21 views
6

Chcę użyć zmiennej w ciągu znaków. Próbowałem zrobić to wiele razy, ale otrzymuję tylko nazwę zmiennej.jak używać zmiennej w łańcuchu w 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> 

Odpowiedz

15

Łączenie można wykonać za pomocą + w następujący sposób.

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

referencyjny:

+0

może u pls powiedz mi, co to podstęp lub metoda – Carlos

+0

@amit Jest to ciąg konkatenacji. Możesz przeczytać o tym w [** MDN **] (https://developer.mozilla.org/en/JavaScript/Reference/Operators/String_Operators). – VisioN

+1

Nigdy nie łącz żadnych danych bezpośrednio w HTML. Nie uciekniesz przed niczym, otwierając się na nieprawidłowe problemy z HTML i wtryskiem. – Brad

-1

Spróbuj

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

Nigdy nie łącz konkrentnych danych bezpośrednio w HTML. Nie uciekniesz przed niczym, otwierając się na nieprawidłowe problemy z HTML i wtryskiem. – Brad

-2

nie obsługuje Javascript rozszerzające zmienne wewnątrz cudzysłowach. Zamknij (i ponownie otwórz) cytaty i użyj operatora +, tak jak już zrobiłeś.

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

tutaj id jest zmienna

+0

Nigdy nie łącz żadnych arbitralnych danych bezpośrednio w HTML. Nie uciekniesz przed niczym, otwierając się na nieprawidłowe problemy z HTML i wtryskiem. – Brad

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

1

Prawidłowe sposobem na to jest to, korzystając z konstruktora HTML jQuery, aby wykonać wszystkie niezbędne ucieczki dla Ciebie:

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