2012-01-09 54 views
0

我想知道如何在String對象的原生原型函數內使用jQuery如何在本地String原型函數中使用jQuery?

我已經試過:

String.prototype.jQ = function() { 
    var $currentObject = $(this); 

    return ($currentObject.length) ? $currentObject.val() : this; 
}; 

var test = "#txtEmail"; 
alert(test.jQ()); 

沒有運氣。任何建議?

我完全知道我可以使用$(test).val(),但我想知道我是否可以按照自己的方式進行操作。

謝謝!

+0

想知道,爲什麼-1? – Cybrix 2012-01-09 14:37:03

+0

我不知道。 +1,好問題:) – Ryan 2012-01-09 16:30:03

回答

2

奇怪的是,jQuery的只接受原始字符串值作爲選擇,不是字符串對象,這是this處於String原型方法。您可以使用.valueOf()獲得原始:

String.prototype.jQ = function() { 
    var $currentObject = $(this.valueOf()); 

    return $currentObject.length ? $currentObject.val() : this; 
};

Here's a demo.

+0

哦。很好的答案。 – Cybrix 2012-01-09 14:33:44

1

$(這+ 「」); //因爲「this」當前是一組字符

String.prototype.jQ = function() { 
    var $currentObject = $(this + ""); 

    return ($currentObject.length) ? $currentObject.val() : this; 
}; 

var test = "#txtEmail"; 
alert(test.jQ()); 
+0

你的答案也很好,但由於minitech提供了一個演示鏈接,我會接受他的答案。 – Cybrix 2012-01-09 14:36:49

相關問題