Метод jQuery после () не работает с идентификационным атрибутом?

StackOverflow https://stackoverflow.com/questions/4068999

Вопрос

Ниже приведен код работает нормально. Но если я изменю HTML-строку в NewPara (), чтобы <textarea></textarea><button id="someId">Save</button> или <textarea></textarea><input type="button" value="Save"/> это не работает. В чем проблема в этом?

Мне нужен этот атрибут ID для удаления вновь прикрепленного HTML.

Какие-либо предложения!

Спасибо!

<html>
  <head>
    <style>
      p { background:yellow; font-weight:bold; cursor:pointer; padding:5px; }
      p.over { background: #ccc; }
      span { color:red; }
    </style>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  </head>
  <body>
    <div id="aDiv">
      <p>Click me!</p>
    </div>

    <span></span>
    <script>
      $("body").delegate("p", "click", newPara);
      $("body").undelegate("button", "click", newPara).find("#adiv").html("<p>Click me!</p>");
      function newPara() {
        var html = "<textarea></textarea><button>Save</button>";
        $(this).after(html);
      }
    </script>
  </body>
</html>
Это было полезно?

Решение

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

Если это так, это:

"<textarea></textarea><button id="someId">Save</button>"

должно быть:

'<textarea></textarea><button id="someId">Save</button>'

Обратите внимание, что я использовал отдельные цитаты снаружи, так что внутренние не закрывают строку.

Попробуйте: http://jsfiddle.net/qqrhr/

Пример использует ваш точный код. Единственное изменение, которое я сделал, должен был использовать синглые цитаты вокруг строки.

Вы также можете избежать внутренних цитат, если вы хотите:

"<textarea></textarea><button id=\"someId\">Save</button>"

Другие советы

Вы ищете присоединиться вместо после этого? Или даже http://api.jquery.com/insertafter/ ?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top