javascript - 我如何让 DOM 知道动态创建的新元素?

标签 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 知道这个新元素?

最佳答案

解决方案一

添加到您的链接 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 .

方案二

不要使用 <a>但是一个<button>以下 the sentiment :

if <a> button doesn’t have a meaningful href, it’s a <button>

(对于 <button> 之外的人来说,<form> 感觉不对。你来决定。)

所以:

<button id="edit_0" 
   onclick="javascript:return false;" 
   class="edit"
>Edit</button>

按钮引用 there .

关于javascript - 我如何让 DOM 知道动态创建的新元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40940914/

相关文章:

javascript - NodeJs 中的静态 HTTP 文件服务器 : Sometimes external . js 和 .css 文件加载正常,有时加载不正确?

Javascript:如何跟踪 div 的绝对位置(顶部/左侧)?

javascript - Angular 初学者。怎么了?

javascript - 从 Sequelize 中的最小年龄和最大年龄列中查找年龄(来自数组(3,5,10))

html - Mozilla flexbox 行为不同于 webkit 和 ie

javascript - 如何添加指向部分谷歌饼图的链接

javascript - 创建一种在使用 jQuery for AJAX 时返回导航的方法

javascript - 为什么我会收到此 JS 错误?

javascript - 使用 bootstrap 创建轮播

html - 获取父空间