[英]How to pass a string in a string
我生成帶有以下鏈接的表行:
"<td>"+table.rows[i].c[0].v+"<a href='#' onclick='loadForm("+table.rows[i].c[2].v+")'> My Link</a></td>" +
table.rows[i].c[2].v = 'my stuff'
。
然而,在檢查它生成像
<a href="#" onclick="loadForm(my stuff)"> My Link</a>
這行不通,因為“我的東西”沒有引號使它成為字符串。 在這種情況下,如何使我的東西變成字符串?
謝謝!
簡短答案:在參數中的字符串中加上引號,並使用反斜杠\\
進行轉義:
"<td>"+table.rows[i].c[0].v+"<a href='#' onclick='loadForm(\""+table.rows[i].c[2].v+"\")'> My Link</a></td>" +
長答案:不要用字符串構建HTML元素,它效率低下且難以維護。 而是使用標准的DOM函數:
var td = document.createElement('td');
var a = document.createElement('a');
a.href = '#';
a.onclick = function() { loadForm(table.rows[i].c[2].v); }
a.textContent = ' My Link';
td.appendChild(a);
...然后您可以使用appendChild()
將td
附加到它所屬的行。 我知道它更長,看起來更麻煩,但是它的調試和維護要容易得多 。 也有類似jQuery的庫來幫助使其更快更容易。 我絕對建議您花時間和精力來閱讀它。 谷歌的“ HTML DOM”和環顧四周的教程,MDN通常都有不錯的東西。
我認為模板文字可以在這里工作:
`<td> ${table.rows[i].c[0].v}<a href='#' onclick='loadForm("${table.rows[i].c[2].v}")'> My Link</a></td>`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.