我只需要运行一个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选择器。
This selector仅将您的b标签过滤到包含“选择子类别”的标签;然后返回这些元素的列表。它不返回一个布尔值。而是使用.contains()方法,像这样:
if($("b").contains("Choose a sub category")) { // do stuff }
您可以阅读更多here
编辑:由于.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 }