Javascript 如何使用+;=操作人员

Javascript 如何使用+;=操作人员,javascript,jquery,operators,Javascript,Jquery,Operators,自从我开始使用JQuery以来,我一直想知道这个操作符在JQuery中是如何工作的 例如: for(var i=0;i这是不可能的。与innerText不同,text()是一种方法,而不是属性 尝试: 或者,如果您不想两次引用$(“mydiv”),您可以: $("mydiv").text(function(i,v){ return v + i; }); 您只需要在此处使用jQuery。使用text方法提取值,然后再次调用它以设置新值: for(var i = 0;i<=4;i++

自从我开始使用JQuery以来,我一直想知道这个操作符在JQuery中是如何工作的 例如:


for(var i=0;i这是不可能的。与
innerText
不同,
text()
是一种方法,而不是属性

尝试:

或者,如果您不想两次引用
$(“mydiv”)
,您可以:

$("mydiv").text(function(i,v){
   return v + i; 
});

您只需要在此处使用jQuery。使用
text
方法提取值,然后再次调用它以设置新值:

for(var i = 0;i<=4;i++)
{
    var mydiv = $("mydiv"),
        t = mydiv.text();
    mydiv.text(t + i);
}

for(var i=0;i您不能对jQuery方法使用这样的shorcuts,它只适用于。对于,使用回调:

$("#mydiv").text(function(index, oldtext) {
    return oldtext + i;
});

这种回调方法适用于所有jQuery属性“赋值”无论是
.html
.prop
.attr
.css
,还是

jQuery不是一种编程语言,而是一个基于javascript构建的库,因此,这些规则与使用javascript必须遵循的规则完全相同,而javascript并不是为理解这些类型的结构而设计的


编辑 当然,我的意思是
o.m(+1)
不会增加
o.p
,而
o.p++
o.p+=1
会:

var o = {};
o.p = 1;
o.m = function () { return this.p; };
o.m(+1); // o.p equals 1
o.p++;   // o.p equals 2
o.p+=1;  // o.p equals 3

正如其他答案所指出的,jQuery只是一个框架,与任何JavaScript代码一样受相同的语法规则约束

虽然我看到了将
函数
传递给
.text()
的好处,但我认为这不是解决实际问题的通用方法:当使用函数而不是变量时如何连接文本

我赞成使用
Array.join()
来实现高效的连接:

var textParts = [ $("mydiv").text() ];
for(var i = 0;i<=4;i++)
{
    textParts[textParts.length] = i;
}
$("mydiv").text(textParts.join(',')) // result: '...,1,2,3,4'
var textParts=[$(“mydiv”).text();

对于(var i=0;这就是我有时不喜欢JQuery的原因:(这不是JQuery的方式。@Bergi不是很清楚,但你是对的,有一个更干净的方法。我已经修改了我的答案。@Stasel这不应该成为不喜欢JQuery的理由。与InnerText不同,
text()
不是属性,而是方法。不要调用同一个选择器表达式两次。谢谢@Curt,它解决了我的问题!!
$("#mydiv").text(function(index, oldtext) {
    return oldtext + i;
});
var o = {};
o.p = 1;
o.m = function () { return this.p; };
o.m(+1); // o.p equals 1
o.p++;   // o.p equals 2
o.p+=1;  // o.p equals 3
var textParts = [ $("mydiv").text() ];
for(var i = 0;i<=4;i++)
{
    textParts[textParts.length] = i;
}
$("mydiv").text(textParts.join(',')) // result: '...,1,2,3,4'