jquery 这个、$这个、$element 和 $('#''+element)
jquery this, $this, $element and $('#''+element)
如果我需要使用动态 ID,我会执行以下操作...
var element=this.id
$('#'+element).val(value)
但是为什么这样的东西不起作用,还有另一种表达 jquery id 的方法吗?
(this.id).val(value)
$(this).val(value)
用'$'创建变量有什么用?
var $elem=foo
我知道这可能是 jquery 101,但我无法在任何地方找到答案,可能是因为不知道要搜索什么!
这是我正在处理的代码示例,其中 $(this).val(value) 不起作用,但 $('#'+nextInput).val(value) 起作用...
$(function(){
$('.copyText').keyup(function(){
var inputStart=this.id
var value=this.value
var allInputTexts=$('#body').find('input[type=text]:enabled:not([readonly])');
allInputTexts.each(function(index, item){
var matchingInput=this.id
if (inputStart==matchingInput) {
var nextInput=allInputTexts[index+1].id
//$('#'+nextInput).val(value)
$(this).val(value)
//return false;
}
})
});
});
如果可行
var element=this.id;
$('#'+element).val(value);
那么这也应该有效
$('#' + this.id).val(value);
还有这个
$(this).val(value);
变量前面的美元符号通常用于表示该变量是 DOM 元素周围的 jQuare 包装器:
var $elem=$(this);
$(this.id).val(value);
不起作用,因为您必须在选择器中使用 #
前缀来指示您要搜索 ID。 this.id
只有ID,前面没有#
。
$(this).val(value);
应该可以,我不明白你为什么认为不行。
以$
开头的变量没有什么特别之处。但是一些程序员喜欢将其用作包含 jQuery 对象而不是普通 DOM 元素或纯值的变量的命名约定。
如果我需要使用动态 ID,我会执行以下操作...
var element=this.id
$('#'+element).val(value)
但是为什么这样的东西不起作用,还有另一种表达 jquery id 的方法吗?
(this.id).val(value)
$(this).val(value)
用'$'创建变量有什么用?
var $elem=foo
我知道这可能是 jquery 101,但我无法在任何地方找到答案,可能是因为不知道要搜索什么!
这是我正在处理的代码示例,其中 $(this).val(value) 不起作用,但 $('#'+nextInput).val(value) 起作用...
$(function(){
$('.copyText').keyup(function(){
var inputStart=this.id
var value=this.value
var allInputTexts=$('#body').find('input[type=text]:enabled:not([readonly])');
allInputTexts.each(function(index, item){
var matchingInput=this.id
if (inputStart==matchingInput) {
var nextInput=allInputTexts[index+1].id
//$('#'+nextInput).val(value)
$(this).val(value)
//return false;
}
})
});
});
如果可行
var element=this.id;
$('#'+element).val(value);
那么这也应该有效
$('#' + this.id).val(value);
还有这个
$(this).val(value);
变量前面的美元符号通常用于表示该变量是 DOM 元素周围的 jQuare 包装器:
var $elem=$(this);
$(this.id).val(value);
不起作用,因为您必须在选择器中使用 #
前缀来指示您要搜索 ID。 this.id
只有ID,前面没有#
。
$(this).val(value);
应该可以,我不明白你为什么认为不行。
以$
开头的变量没有什么特别之处。但是一些程序员喜欢将其用作包含 jQuery 对象而不是普通 DOM 元素或纯值的变量的命名约定。