jQuery用于操作DOM的方法,如append()/ after()all都返回此关键字,该关键字引用原始jQuery对象以进行链接。
var $test=$("#test").after("<div>test</div>");
$test.css("color","red");
它会将#test元素字体颜色发送到红色,而不是新创建的元素。
现在说我想立即将新创建的元素“test”存储到与原始DOM方式相同的变量中。
var test=document.createElement("div");
所以稍后我可以使用:
设置css样式test.style.color="red";
当然我可以混合DOM方式和jQuery方式:
var test=document.createElement("div");
test.innerHTML="just a test";
$(#test).after(test);
$(test).css("color","red");
但还有其他方法吗?
答案 0 :(得分:3)
您拥有的选项是使用.insertAfter()
代替.after()
,因为它会返回您刚刚创建的元素:
var $test = $("<div>test</div>").insertAfter("#test");
$test.css("color","red");
您也可以在同一行上执行此操作:
var $test = $("<div>test</div>").insertAfter("#test").css("color","red");
其他选择:
var $test = $("<div style='color:red'>test</div>").insertAfter("#test");
var $test = $("<div>",{ style:"color:red",html:"test"}).insertAfter("#test");