![](/img/trans.png)
[英]help with understanding the logic behind how javascript executes on new dom elements being created on the fly
[英]How do I let the DOM know about new elements created on the fly?
我正在撥打AJAX,並在后端構建一些HTML。 我將它們作為JSON返回,然后使用jQuery渲染它們,類似於:
$(data.message).each(function (index, value) {
$('#states_table tbody').append('<td>' + value.edit_link + '</td>');
});
value.edit_link
包含以下HTML:
<a id="edit_0"
title="Edit"
onclick="javascript:return false;"
class="edit"
>Edit</a>
然后,我將得到這樣的結果:
如您所見,鏈接沒有手形光標。 我的猜測是,第一次呈現頁面時DOM不了解它們,因此不會應用CSS屬性或默認屬性,這使我問:
為了使帶有cursor: hand
的鏈接cursor: hand
,如何讓DOM知道這個新元素?
解決方案1
將html href="#"
或href="javascript:void(0)"
添加到您的鏈接中,以便:
<a href="#"
id="edit_0"
title="Edit"
onclick="javascript:return false;"
class="edit"
>Edit</a>
要全面了解<a>
html標簽,請閱讀此內容 。
如果您不知道更好的方法href="#"
或href="javascript:void(0)"
(沒人知道),請閱讀此討論 。
解決方案2
不要在情感之后使用<a>
而是使用<button>
:
如果
<a>
按鈕沒有有意義的href,則為<button>
(對於某人, <form>
之外的<button>
<form>
感覺不對。您決定。)
所以:
<button id="edit_0"
onclick="javascript:return false;"
class="edit"
>Edit</button>
按鈕參考那里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.