将未定义的传递给jquery val函数
我的代码:将未定义的传递给jquery val函数,jquery,Jquery,我的代码: <select id="carlist"> <option value="volvo">Volvo</option> </select> function getVal(e, v) { return e.val(v); } var elem=$('#carlist'); alert(elem.val()); // returns volvo alert(getVal(elem)); // returns [Object
<select id="carlist">
<option value="volvo">Volvo</option>
</select>
function getVal(e, v) {
return e.val(v);
}
var elem=$('#carlist');
alert(elem.val()); // returns volvo
alert(getVal(elem)); // returns [Object Object]
沃尔沃汽车
函数getVal(e,v){
返回e.val(v);
}
var elem=$(“#carlist”);
警报(elem.val());//返回沃尔沃
警报(getVal(elem));//返回[对象]
我希望两个警报都打印相同的内容,但是第二个警报失败了,这是jquery错误吗
有2个参数,您正在传递一个参数,e.val(v)应该是e.val()
应该是
function getVal(e) {
return e.val();
}
有2个参数,您正在传递一个参数,e.val(v)应该是e.val()
应该是
function getVal(e) {
return e.val();
}
有2个参数,您正在传递一个参数,e.val(v)应该是e.val()
应该是
function getVal(e) {
return e.val();
}
有2个参数,您正在传递一个参数,e.val(v)应该是e.val()
应该是
function getVal(e) {
return e.val();
}
删除返回方法中的
v
。您正在函数中使用传递一个参数,因此可以选择删除v
function getVal(e) {
return e.val(); // < remove 'v' here
}
函数getVal(e){
返回e.val();//<在此处删除“v”
}
删除返回方法中的
v
。您正在函数中使用传递一个参数,因此可以选择删除v
function getVal(e) {
return e.val(); // < remove 'v' here
}
函数getVal(e){
返回e.val();//<在此处删除“v”
}
删除返回方法中的
v
。您正在函数中使用传递一个参数,因此可以选择删除v
function getVal(e) {
return e.val(); // < remove 'v' here
}
函数getVal(e){
返回e.val();//<在此处删除“v”
}
删除返回方法中的
v
。您正在函数中使用传递一个参数,因此可以选择删除v
function getVal(e) {
return e.val(); // < remove 'v' here
}
函数getVal(e){
返回e.val();//<在此处删除“v”
}
应该是
function getVal(e) {
return e.val();
}
应该是
function getVal(e) {
return e.val();
}
应该是
function getVal(e) {
return e.val();
}
应该是
function getVal(e) {
return e.val();
}
至于为什么这种行为有意义:在jQuery中,您可以不带参数调用
e.val()
,它将返回元素e的当前值属性,或者使用一个e.val(newVal)
来调用它以设置新值。如果使用后者,jQuery将返回元素,以使链接成为可能
即使在没有第二个参数的情况下调用函数getElement
,它仍然会区分undefined
和no-argument,从而将元素的值设置为undefined,而不是返回当前值
如果要重载函数,可以使用:
function getVal(e, v) {
if(v === undefined){
return e.val();
else{
return e.val(v);
}
}
至于为什么这种行为有意义:在jQuery中,您可以不带参数调用
e.val()
,它将返回元素e的当前值属性,或者使用一个e.val(newVal)
来调用它以设置新值。如果使用后者,jQuery将返回元素,以使链接成为可能
即使在没有第二个参数的情况下调用函数getElement
,它仍然会区分undefined
和no-argument,从而将元素的值设置为undefined,而不是返回当前值
如果要重载函数,可以使用:
function getVal(e, v) {
if(v === undefined){
return e.val();
else{
return e.val(v);
}
}
至于为什么这种行为有意义:在jQuery中,您可以不带参数调用
e.val()
,它将返回元素e的当前值属性,或者使用一个e.val(newVal)
来调用它以设置新值。如果使用后者,jQuery将返回元素,以使链接成为可能
即使在没有第二个参数的情况下调用函数getElement
,它仍然会区分undefined
和no-argument,从而将元素的值设置为undefined,而不是返回当前值
如果要重载函数,可以使用:
function getVal(e, v) {
if(v === undefined){
return e.val();
else{
return e.val(v);
}
}
至于为什么这种行为有意义:在jQuery中,您可以不带参数调用
e.val()
,它将返回元素e的当前值属性,或者使用一个e.val(newVal)
来调用它以设置新值。如果使用后者,jQuery将返回元素,以使链接成为可能
即使在没有第二个参数的情况下调用函数getElement
,它仍然会区分undefined
和no-argument,从而将元素的值设置为undefined,而不是返回当前值
如果要重载函数,可以使用:
function getVal(e, v) {
if(v === undefined){
return e.val();
else{
return e.val(v);
}
}
在JCOC611的带领下,我最终追踪到了jQuery代码。问题是,当jQuery检查val是否收到参数时,它检查的是参数的数量,因此将未定义的参数传递给val()仍然会调用接收参数的重载 因此,向jQuery的val()这样的函数写入代理的正确方法是:
在JCOC611的带领下,我最终追踪到了jQuery代码。问题是,当jQuery检查val是否收到参数时,它检查的是参数的数量,因此将未定义的参数传递给val()仍然会调用接收参数的重载 因此,向jQuery的val()这样的函数写入代理的正确方法是:
在JCOC611的带领下,我最终追踪到了jQuery代码。问题是,当jQuery检查val是否收到参数时,它检查的是参数的数量,因此将未定义的参数传递给val()仍然会调用接收参数的重载 因此,向jQuery的val()这样的函数写入代理的正确方法是:
在JCOC611的带领下,我最终追踪到了jQuery代码。问题是,当jQuery检查val是否收到参数时,它检查的是参数的数量,因此将未定义的参数传递给val()仍然会调用接收参数的重载 因此,向jQuery的val()这样的函数写入代理的正确方法是:
将值设置为
undefined
,并且每当使用val()设置值时