来自jQuery .click函数的奇怪错误消息

时间:2013-08-30 15:26:09

标签: jquery

我有以下代码,原则是点击< td>它提供了两个警告框:

1)具有数据值(例如1)

2)带文字(11001)

但是当我点击它时,我得到'type'变量的以下错误:

function ( value ) {
        return jQuery.access( this, function( value ) {
            return value === undefined ?
                jQuery.text( this ) :
                this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );
        }, null, value, arguments.length );
    }

我认为它是非常明显的东西,但我看不出是什么?

<html>
<head>
    <script language="JavaScript" src="../Generic/JAVASCRIPT/jquery.js" type="text/javascript"></script>
    <script>
        $(document).ready( function() 
        {
            $('.updatefield').click(function() 
                { 
                    var typeid = $(this).closest('tr').children('td.rowType1').data('value');
                    var type = $(this).closest('tr').children('td.rowType1').text;

                    console.log(typeid);
                    console.log(type);
                }
            )
        })  
    </script>
</head>


<body>
<Table>
    <tr>
        <td class="updatefield rowType1" data-value="1">11001</td>
    </tr>
</Table>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

text()是一种方法而非财产。因此,您需要引用而不是调用函数。

将其更改为: var type = $(this).closest('tr').children('td.rowType1').text();

答案 1 :(得分:1)

这里有一个错字:

var type = $(this).closest('tr').children('td.rowType1').text();

而不是

var type = $(this).closest('tr').children('td.rowType1').text;

.text()方法不是属性.. :))

Fiddle Demo