У меня есть следующая строка HTML, созданная в JavaScript:
var s = "<p id='main'><p>Sample paragraph text.</p><p>more</p></p>";
Которая, отформатированная, выглядит так:
<p id='main'>
<p>Sample paragraph text.</p>
<p>more</p>
</p>
Однако, когда я использую jQuery append
для добавления этого в div
, он добавляется следующим образом:
<p id='main'></p>
<p>Sample paragraph text.</p>
<p>more</p>
Вы можете копировать себя в JsFiddle здесь, это происходит для меня хотя бы в Chrome:
После того, как вы запустите его, щелкните правой кнопкой мыши на абзаце и выберите "Осмотреть элемент".
Это вызывает проблему для меня, потому что я ожидаю, что смогу выбрать родительский абзац с помощью ID и получить внутренний HTML с помощью .html()
, но, очевидно, это приведет к пустой строке.
Кто-нибудь знает, почему это может произойти?
Вы не можете вложить абзацы. Используйте div, чтобы обернуть абзацы.
как все говорят, вложенность абзацев недействительна при добавлении в качестве html. Вы можете обернуть этот html в span
или div
.later, развернуть родительский файл. Что-то вроде этого:
var s = "<span><p id='main'><p>Sample paragraph text.</p><p>more</p></p></span>";
$("#container").append(s);
$("#container span p").unwrap();