Вопрос по html, jquery – Как использовать переменную в строке в JQuery

7

Я хочу использовать переменную в строке. Я пытался сделать это много раз, но получаю только имя переменной.

<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>

Ваш Ответ

6   ответов
-1

$(".html").html("<div class='new' id='"+id+"'>jitender</div>")
Никогда не объединяйте произвольные данные непосредственно в HTML. Вы не избежите чего-либо, открыв себя для недопустимых проблем HTML и внедрения.
1

ery для выполнения всего необходимого для вас экранирования:

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

+ следующее.

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

Reference:

https://developer.mozilla.org/en/JavaScript/Reference/Operators/String_Operators
Никогда не объединяйте произвольные данные непосредственно в HTML. Вы не избежите чего-либо, открыв себя для недопустимых проблем HTML и внедрения.
@amit Это конкатенация строк. Вы можете прочитать об этом вMDN.
Можете ли вы сказать мне, что такое трюк или метод Carlos
@VisioN Помните, что ваши ответы будут использоваться в иных контекстах, чем буквальный код вопроса. Особенно в случае разметки на странице, если вы хотите использовать это как текст в контексте HTML, вы должны убедиться, что любые объекты HTML экранированы должным образом. Что бы ни стоило, этот вопрос и ваш ответ были связаны с другим подобным вопросом. Я отклонил ваш ответ, потому что он не содержит предупреждения о контексте, в котором он может быть использован. Мой комментарий должен предупредить людей. Наконец, я не знаю, кто мой «друг». является. Другие могут голосовать как им угодно. Не принимайте это на свой счет.
@Brad Произвольные данные? Когда содержимое локального узла стало произвольными данными? В этом примере значение переменнойid это просто внутренняя разметка другого элемента DOM, а не значение cookie / input / query_string. Как правило, ваш комментарий имеет смысл, но только как примечание, которое не имеет ничего общего с конкатенацией строкproblem поднял здесь. Я очень рад, что вы (и ваш друг) нашли этот старый бесполезный вопрос (который стоит закрыть как «не надо учиться, я хочу учиться») в SO мусорное ведро с тегом "JavaScript" и потратил свое время и 12+ баллов за даунтинг.
1
<script type="text/javascript">
$(function(){
$("a").click(function(){
    var id= $(".id").html();
    $('.html').html("<div class='new' id='"+id+"'>jitender</div>");
    })
})

1

$('.html').html(`<div class='new' id=${id}>jitender</div>`)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

Не поддерживается Internet Explorer
-2

к. Закройте (и снова откройте) кавычки и используйте оператор +, как вы уже сделали.

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

Вотid является переменной

Никогда не объединяйте произвольные данные непосредственно в HTML. Вы не избежите чего-либо, открыв себя для недопустимых проблем HTML и внедрения.

Похожие вопросы