2012-04-18 27 views
2

我想強調的是含有一定字符串完全所有領域,在下面的例子中我也將匹配someuser2,someuser3等突出確切字符串使用jQuery使用含有選擇

$("div.forumbody .username:contains('someuser')").css("background", "#6a5acd"); 

如何搜索爲確切的字符串,並使字段背景#6a5acd? 在此先感謝。

回答

3

嘗試this

創建自定義選擇

$.expr[':'].textEquals = function(a, i, m) { 
return $(a).text().match("^" + m[3] + "$"); 
}; 

,並用它

$("div.forumbody .username:textEquals('someuser')").css("background", "#6a5acd"); 
1

這看起來我的權利......確保你選擇的工作的權利,而不包含.. 。

$("div.forumbody .username").css("background", "#6a5acd"); 

編輯

對於文本字段:

$("div.forumbody .username[value*=someuser]").css("background", "#6a5acd"); 

或者,如果他們不預填充(建設關戈文德的答案):

$.expr[':'].valHas = function(a, i, m) { 
    return $(a).val().match("^" + m[3] + "$"); 
}; 

$("div.forumbody .username:valHas('someuser')") 

DOUBLE編輯

該測試工作和簡單:

jQuery("div.forumbody .username:text[value*='someuser']").css("background", "#6a5acd"); 
+0

感謝您的解決方案,無論是工作得很好。 – JustaN00b 2012-04-18 14:51:16

0

嘗試添加一個擴展僞功能:

$.expr[':'].textEquals = $.expr.createPseudo(function(arg) { 
    return function(elem) { 
     return $(elem).text().match("^" + arg + "$"); 
    }; 
}); 

然後,你可以這樣做:

$("div.forumbody .username:textEquals('someuser')").css("background", "#6a5acd"); 
相關問題