我的jQuery代码有什么问题?给出错误,它不是一个功能

时间:2013-08-07 19:11:12

标签: jquery wordpress text input

我在Wordpress中使用它,所以我尝试将$符号更改为jQuery,但这也不起作用。这是脚本:

<script>
    jQuery().ready(function($) {
       var name = $('#user-submitted-posts-wrapper').data('name');
       if ( name != '') $('.usp-title input').eq(0).value(name);
    });
    </script>

我收到错误:

 $(...).eq(...).value is not a function

可能是什么问题?我试图用我得到的文本预填充输入字段。输入字段具有name属性,没有class或ID属性。那更好用吗?我做错了什么?

6 个答案:

答案 0 :(得分:6)

您将jQuery的val()方法与DOM value属性混淆了;使用jQuery对象使用.val(),使用DOM节点.value;它们不可互换。

参考文献:

答案 1 :(得分:5)

因为$().valueundefined(不是函数)。

value属性属于HTMLInputElement DOM界面,jQuery objects没有该名称的任何属性或方法。

jQuery对象提供.val()方法来设置元素'value属性:

$('.usp-title input').eq(0).val(name);

您也可以通过.get方法从jQuery对象中检索DOM元素引用来直接获取和设置DOM元素属性:

$('.usp-title input').get(0).value = name;
$('.usp-title input')[0].value = name; //shorthand form

答案 2 :(得分:4)

您需要使用.val方法,而不是.value

$('.usp-title input').eq(0).val(name);

答案 3 :(得分:2)

(function($){
    $(function(){
       var name = $('#user-submitted-posts-wrapper').data('name');
       if (name != '') {
           $('.usp-title input').eq(0).val(name);
       }
    });
})(jQuery);

答案 4 :(得分:2)

您使用.value代替.val

答案 5 :(得分:0)

Jquery中没有方法value。您可以使用valattr('value', 'yourvalue')