.appendTo
是否有一个很好的方法可以使用一个元素,也可以根据它是否存在于DOM中?
例如,理想情况下我想做
理想方法1:
.appendTo($('#div1') || $('#div2'));
不太好的方法2:
var div1 = $('#div1'),
div2 = $('#div2'),
e = div1;
if (!div1.length) e = div2;
.appendTo(e);
当然我不能做第一个选项,因为$()总是返回一个对象,因此它将评估为true alert($ || 'a');
将始终返回jQuery对象。
答案 0 :(得分:4)
如果他们按顺序使用.first()
,就像这样:
.appendTo($("#div1, #div2").first());
无论在DOM中出现哪种顺序,只需使用.first()
或.last()
从您想要的方向中进行选择。另外.appendTo()
只是被换掉了,最好这样做:
$("#div1, #div2").first().append(element);
答案 1 :(得分:1)
怎么样
($("#div1").get(0) || $("#div2").get(0)).appendTo(..)
假设其中至少有一个存在。
答案 2 :(得分:0)
为什么不在div上设置一个类。这样,如果其中一个div存在,它将始终有效。