如何让DOM了解动态创建的新元素?

时间:2016-12-02 21:13:48

标签: javascript jquery html css dom

我正在进行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>

然后我会得到类似的东西:

enter image description here

正如您所看到的,链接没有手形光标。我的猜测是,当第一次呈现页面时,DOM不知道它们,因此不会应用CSS属性或默认属性,这让我问:

为了获得与cursor: hand的链接,我如何让DOM了解这些新元素?

1 个答案:

答案 0 :(得分:6)

解决方案1 ​​

添加到您的链接html href="#"href="javascript:void(0)"所以:

<a href="#"
   id="edit_0" 
   title="Edit" 
   onclick="javascript:return false;" 
   class="edit"
>Edit</a>

要完全理解<a> html标记,请阅读this

如果您不知道href="#"href="javascript:void(0)"({没有人知道)是否更好,请阅读this discussion

解决方案2

请勿<a>使用<button>the sentiment后使用<a>

  

如果<button>按钮没有有意义的href,则为<button>

(对于<form>以外<button id="edit_0" onclick="javascript:return false;" class="edit" >Edit</button> 感觉错误的人。您决定。)

这样:

{{1}}

按钮参考there