![](/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.