2012-06-15 13 views
6

Quiero usar una variable en una cadena. He intentado hacerlo muchas veces, pero solo está obteniendo el nombre de la variable.cómo usar la variable en cadena en 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> 

Respuesta

15

Concatenar se puede hacer con + de la siguiente manera.

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

Referencia:

+0

puede u pls me dicen cuál es el truco o método – Carlos

+0

@amit Esta es la concatenación de cadenas. Puede leer sobre esto en [** MDN **] (https://developer.mozilla.org/en/JavaScript/Reference/Operators/String_Operators). – VisioN

+1

Nunca concatenar datos arbitrarios directamente en HTML. No está escapando nada, abriéndose a HTML no válido y problemas de inyección. – Brad

-1

Prueba este

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

Nunca concatenar datos arbitrarios directamente en HTML. No está escapando nada, abriéndose a HTML no válido y problemas de inyección. – Brad

-2

Javascript no soporta variables de expansión entre comillas dobles. Cierre (y vuelva a abrir) las comillas y use el operador +, como ya lo hizo.

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

aquí id es variable

+0

Nunca concatenar datos arbitrarios directamente en HTML. No está escapando nada, abriéndose a HTML no válido y problemas de inyección. – Brad

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

1

La forma correcta de hacerlo es es mediante el aprovechamiento de constructor de HTML de jQuery para llevar a cabo todo lo necesario escapar para usted:

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