我需要傳遞一個帶有來自 javascript 的 id 的 html 行,我使用了 innerHTML 但我無法讓它作業,如果我使用一個簡單的字串,它就可以作業
function passid(id){
var lengthOfName = id
document.getElementById('output').innerTEXT = "<input type="text" id="test" name="test" value="'lengthOfName'">";
};
<div id="output"></div>
uj5u.com熱心網友回復:
你應該使用反引號和innerHTML。
function passid(id){
var lengthOfName = id
document.getElementById('output').innerHTML = `
<input type="text" id="test" name="test" value=${lengthOfName}>`;
};
uj5u.com熱心網友回復:
你需要做的是一些小的修復
function passid(id){
var lengthOfName = id
document.getElementById('output').innerHTML = `<input type="text" id="test" name="test" value="${lengthOfName}">`;
};
uj5u.com熱心網友回復:
在您的示例代碼中,您使用的是帶有 HTML 字串的 innerTEXT。這不會將字串中的 HTML 和輸入元素決議為 DOM。
根據您“使用 javascript 傳遞 id”的方式,您可能需要按照評論之一的建議推遲代碼。但是你可以使用insertAdjacentHTML與“afterbegin”為HTML字串的位置。此外,我會使用模板文字并將您的可變美元符號和大括號括起來,例如 => ${id}。
看我的例子,如果這不是你要找的,請告訴我,我會正確地回答我的答案。
let id = "myid";
function passid(id){
let el = document.getElementById('output');
let str = `<input type="text" id="test" name="test" value="${id}">`;
el.insertAdjacentHTML('afterbegin', str);
};
passid(id);
<div id="output"></div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/387180.html
標籤:javascript html css
