如何将属性设置为动态创建的元素?

时间:2019-01-10 02:27:18

标签: jquery html5

我从$.post得到响应,它包含元素。元素包含<a><img>

我想防止<a>元素在单击时执行其默认功能,并且我想同时禁用元素draggable<a>的{​​{1}}选项

使用<img>可以定义一次函数,它将对任何动态添加的元素执行。

例如:这些将阻止锚元素在单击时执行其默认功能。
.on()

如何为其设置属性?以下代码不适用于动态元素。 $('body').on('click', 'a', function (e) { "use strict"; e.preventDefault(); });
$('a').attr('draggable', false);

1 个答案:

答案 0 :(得分:3)

假设您要将响应元素添加到标记中的某个地方。

标记

<div id="container">
    <!--Add dynamic element here-->
</div> 

JS

$('body').on('click', 'a', function (e) {
   "use strict";
   e.preventDefault();
});

$.ajax({
    type: "POST",
    url: ServerAddress,
    success: function (data) {
        $('#container').html(data); //1: Insert the element into your markup
        $('#container a').attr('draggable', false); //2: The element is ready to add some attribute
        $('#container img').attr('draggable', false); //2: The element is ready to add some attribute
    }
});

您只需要等待,直到将其解析为对象为止。