2010-05-12 43 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