Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将未定义的传递给jquery val函数_Jquery - Fatal编程技术网

将未定义的传递给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()设置值时