jquery根据页面是否可编辑在val()或text()之间切换

jquery根据页面是否可编辑在val()或text()之间切换,jquery,Jquery,我试图弄清楚是否已经有一个函数可以执行以下操作,或者我将如何编写一个新函数 如果页面是可编辑的,我将构建一个包含文本框的表 <td><input type="text" id="blah" ... > </td> 否则 $('#blah').text() 我想编写一个基于标志(isEditable)的函数,返回元素.val或.text 比如说 jquery.fn.getValue = function() { if (isEditable){

我试图弄清楚是否已经有一个函数可以执行以下操作,或者我将如何编写一个新函数 如果页面是可编辑的,我将构建一个包含文本框的表

<td><input type="text" id="blah" ... > </td>
否则

$('#blah').text()
我想编写一个基于标志(isEditable)的函数,返回元素.val或.text 比如说

jquery.fn.getValue = function() {
    if (isEditable){
        return $(this).val()
    }
    else {
        return $(this).text()
    }
 }
然后我就能做到:

$('#blah').getValue()

我不在乎它是一个单元格还是一个输入框

你基本上已经在那里了:

(function($) {
    $.fn.getValue = function() {
        switch(this.get(0).nodeName) {
            case"INPUT": return this.val();
            break;
            default: return this.text(); 
            break;
        }
     }
})(jQuery);

isEditable
应该是
$(this.is('input[type=text'))
您可以使用
this.tagName
查看元素是输入还是td,并根据该值返回值或文本

是否有问题P
$('#blah').getValue()
(function($) {
    $.fn.getValue = function() {
        switch(this.get(0).nodeName) {
            case"INPUT": return this.val();
            break;
            default: return this.text(); 
            break;
        }
     }
})(jQuery);