如果包含某些文本,则运行jquery
只有在粗体元素包含特定文本时,我才需要运行jquery。 我究竟做错了什么?
<script>
if ($('b:contains('Choose a sub category:')')) {
$("td.colors_backgroundneutral").css("background-color","transparent");
$("td.colors_backgroundneutral").children(':first-child').attr("cellpadding","0");
};
</script>
除了在单引号内使用单引号(这会破坏字符串)之外,您在if语句中使用了jQuery选择器。 此选择器仅将您的b
标签过滤为包含“选择子类别”的标签; 然后返回这些元素的列表。 它不返回布尔值。 相反,使用.contains()
方法,如下所示:
if($("b").contains("Choose a sub category")) {
// do stuff
}
你可以在这里阅读更多
编辑:由于.contains()
方法似乎被弃用,这里是一个纯粹的JS解决方案:
var el = document.getElementById("yourTagId") // or something like document.getElementsByTagName("b")[0] if you don't want to add an ID.
if (el.innerHTML.indexOf("Choose a sub category") !== -1) {
// do stuff
}
我一直用这个来确定一个元素是否存在:
if ($('b:contains("Choose a sub category:")').length > 0) { /*do things*/}
if ($("b").has(":contains('Choose a sub category:')").length) {
/*Your Stuff Here*/
}
链接地址: http://www.djcxy.com/p/83695.html