-7

我在 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

可能是什么问题?我正在尝试用我得到的文本预填充输入字段。输入字段有一个名称属性,没有类或 ID 属性。那更好用吗?我究竟做错了什么?

4

6 回答 6

6

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

参考:

于 2013-08-07T19:12:23.000 回答
5

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

value属性属于HTMLInputElementDOM 接口,jQuery 对象没有该名称的任何属性或方法。

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
于 2013-08-07T19:12:23.563 回答
4

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

$('.usp-title input').eq(0).val(name);
于 2013-08-07T19:12:27.067 回答
2
(function($){
    $(function(){
       var name = $('#user-submitted-posts-wrapper').data('name');
       if (name != '') {
           $('.usp-title input').eq(0).val(name);
       }
    });
})(jQuery);
于 2013-08-07T19:12:35.913 回答
2

您正在使用.value而不是.val.

于 2013-08-07T19:14:14.537 回答
0

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

于 2013-08-07T19:56:35.350 回答