[英]How do I get a JQuery object inside a template literal?
所以通常我有一個JQuery對象,例如
var element = $('<h1>Title</h1>');
我將對其進行一些操作,稍后,我想將其嵌入模板文字中,因此它顯示為好像在使用jquery的$()。append。 這是我的嘗試
var secondElement = $(`<div><div>${element}</div></div>`);
$('#someRandomDiv').append(secondElement);
預期結果
<div><div>[Object object]</div></div>
因為它引用的是對象,而不是元素的HTML。 但是我希望如此。
<div><div><h1>Title</h1></div</div>
有辦法嗎? 理想情況下,它仍將使用模板文字,當然,最好是使用本機js / jquery功能而不是變通辦法。
您可以通過訪問element[0]
來訪問基礎HTMLElement對象,然后所需的就是html字符串,可以通過.outerHTML
獲得。 所以:
var element = $('<h1>Title</h1>'); var secondElement = $(`<div><div>${element[0].outerHTML}</div></div>`); console.log(secondElement[0].outerHTML) // Logs: <div><div><h1>Title</h1></div></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
改用jQuery方法
var element = $('<h1>Title</h1>'); var secondElement = $(`<div>`).append(element).wrap(`<div>`).parent(); console.log(secondElement[0].outerHTML) // Logs: <div><div><h1>Title</h1></div></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
嘗試以下代碼:
var element = $('<h1>Title</h1>');
var secondElement = $(`<div><div>${element.prop('outerHTML')}</div></div>`);
$('#someRandomDiv').append(secondElement);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.