2010-05-12 25 views
0

編輯:我想avoid做這樣的事情:jQuery:快速的問題。如何選擇字符串變量?

var str = 'Hello'; 
if (str == 'Hello') { 
    alert(str); 
} 

我寧願做:

var str = 'Hello'; 
$(str).filter(':contains("Hello")').each(function(){ 
    alert(this) 
}); 

我已經嘗試了很多東西:

$(str).text().method1().method2().method3(); 
$(str).val().method1().method2().method3(); 
$(str).contents().method1().method2().method3(); 

沒有工作。是否有可能做到這一點?

謝謝你的時間。

親切的問候,
馬呂斯

+0

你可能想嘗試和解釋ÿ我們的動力。目前還不清楚爲什麼你想要將jQuery用於它不是爲了設計的東西,而不是使用簡單的JavaScript代碼片段。 – 2010-05-12 13:08:07

回答

0

把值在數組中,他們可以使用grep方法篩選出一個符合標準的數組中的項目:

$($.grep([str], function(e){ 
    return e == 'Hello'; 
})).each(function(){ 
    alert(this); 
}); 

你也可以做一個插件,以使其更喜歡代碼,您希望爲:

(function($){ 
    $.fn.eq = function(str) { 
    return $($.grep(this, function(e){ return e == str; })); 
    }; 
})(jQuery); 

用法:

var str = 'Hello'; 
$([str]).eq('Hello').each(function(){ 
    alert(this); 
}); 
4

jQuery選擇不工作這樣。整個想法是他們選擇文檔對象模型(DOM)的元素。換句話說,HTML文檔(頁面)中的標籤。

如果您想使用字符串變量,您可以直接以str的身份訪問它。甚至不需要jQuery。

這就是說,有沒有一個特定的jQuery方法(或方法),你想用來操縱一個字符串?

+0

我想避免這樣做: var str = Hello; (str =='Hello'){ alert(str);如果(str =='Hello'){ 我想寧願做:$(str).filter('contains(「Hello」)')。each(function(){alert(this)}); – 2010-05-12 12:51:07