VID*_*gnz 16 variables jquery append object
我不确定这里究竟发生了什么,我认为变量是一个jquery对象.
这只追加一次,我的问题是为什么?
var newInput = $('<input/>');
$('#newDiv').append(newInput);
$('#newDiv').append(newInput);
Run Code Online (Sandbox Code Playgroud)
虽然这可行,但我认为
var newInput = '<input>';
$('#newDiv').append(newInput);
$('#newDiv').append(newInput);
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
pla*_*alx 20
在第一种情况下,$
将解析你的html并创建一个新的jQuery对象,它将包装一个HTMLInputElement
.
基本上,这就像做:
var $newDiv = $('#newDiv'),
newInput = document.createElement('input');
$newDiv.append(newInput);
$newDiv.append(newInput);
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,它每次都在解析html,为每个实例生成不同的jQuery对象.
以下是第一个样本的修复方法:
var newInput = $('<input/>');
$('#newDiv').append(newInput);
$('#newDiv').append(newInput.clone());
Run Code Online (Sandbox Code Playgroud)