簡體   English   中英

無法獲得動態添加的textarea的outerHTML / value

[英]Cannot get outerHTML/value of a dynamically added textarea

這個小提琴https://jsfiddle.net/xa9m49zy/演示了你可以在渲染時獲得DOM中的textarea的outerHTML(帶有文本區域值),但是當textarea動態添加到DOM時, outerHTML不包含文本區域值。 它在Firefox和Chrome 不起作用,但它在IE和Edge中可以正常工作。

HTML:

<textarea id="abc">
  Test
</textarea>

JS:

console.log($("#abc").get(0).outerHTML); //returns everything as expected
$("<textarea id='xyz'></textarea>").val("Test 2").appendTo("body");
console.log($("#xyz").get(0).outerHTML); //only shows <textarea></textarea> in non-MS browsers

這里發生了什么? 這是Chrome和Firefox中的錯誤嗎?

問題是您使用.val()設置第二個textarea ,但outerHTML不檢索值,它檢索元素和該元素的內容

textarea元素從其內容中獲取價值。

如果使用.text()方法為第二個textarea設置內容 ,則可以正常工作。

 alert($("#abc").get(0).outerHTML); //returns everything as expected $("<textarea id='xyz'></textarea>").text("Test 2").appendTo("body"); alert($("#xyz").get(0).outerHTML); //only shows <textarea></textarea> in non-MS browser 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <textarea id="abc"> Test </textarea> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM