我将第一个div作为变量,并尝试更改内部div的ID。
我得到了这样的uiID
uiID = $(ui.draggable).attr("id");
$(uiID + "div:first").attr('id','dropped1');
<div id="a">
<div id ="b">
</div>
</div>
由于某种原因,这不起作用。我已尝试过first()以及
$(uiID ).first().attr('id','dropped1');
答案 0 :(得分:2)
你忘了这个空间:
$(uiID + " div:first").attr('id','dropped1');
这应该没问题。
Oups也许你也忘了#:
uiID = "#" + $(ui.draggable).attr("id");
jsfiddle:http://jsfiddle.net/mZZjc/
答案 1 :(得分:1)
答案 2 :(得分:0)
你可以使用
uiId.find('div:nth-child(1)').attr('id','dropped1');
答案 3 :(得分:0)
您错过了ID之前的#
以及选择器中元素之间的空格。它应该是:
$("#" + uiID + " div:first").attr('id','dropped1');
或:
$("#" + uiID).find("div:first").attr('id','dropped1');
答案 4 :(得分:0)
var uiID = $(ui.draggable).attr("id");
$("#" + uiID + "> div:first-child").attr('id','dropped1');
我认为这是唯一正确的解决方案。
您需要ID的哈希值,然后您需要直接后代(>
)以及第一个孩子的哈希值。