我正在使用jQuery可拖动和可拖拽。我在droppable的drop事件中克隆可拖动的小部件。获取克隆元素的ID
我想获取克隆元素的ID,这个元素将被发送到带有AJAX请求的应用程序。我无法取得ID。 console.log返回空白字符串。
另外,我想更改ajax请求的响应事件上克隆元素的ID。添加后如何特别更改克隆事件的ID?
我正在使用jQuery可拖动和可拖拽。我在droppable的drop事件中克隆可拖动的小部件。获取克隆元素的ID
我想获取克隆元素的ID,这个元素将被发送到带有AJAX请求的应用程序。我无法取得ID。 console.log返回空白字符串。
另外,我想更改ajax请求的响应事件上克隆元素的ID。添加后如何特别更改克隆事件的ID?
这是因为jQuery的clone()
方法不克隆该id。这样做会破坏有效的DOM/HTML规则。您需要设置自己的ID,例如:
var dropElem = ui.draggable.html();
var clone = $(dropElem).clone();
var widgetType = 'ClonedElementX'; //whatever you want the id to be
clone.attr('id',widgetType);
$(this).append(clone);
值得注意的是,在默认情况下该ID将不会与一个GET或POST(AJAX或标准要求)发送到服务器。如果它是“输入”类型元素,则还需要设置“名称”属性。如果有在AJAX请求中发送ID的自定义代码,您可以忽略它。
我不熟悉jQuery的克隆方法,但是HTML文档可能没有两个具有相同ID的元素。也许jQuery去掉id以避免问题。我建议你使用原始的id并为克隆分配一些新的id。
克隆后自己设置ID不是更明智吗?否则,您最终会拥有多个具有相同ID的元素。 – Prutswonder 2010-04-19 10:37:18