我正在使用此表达式来查找包含植物学名称的div。由于植物名称的性质,它们有时需要包含一些特殊字符。
它适用于我尝试的每个botName,除了这个:“Cornus florida var rubra”,我无法弄清楚为什么。事实上,它甚至适用于“Cornus florida var”。
我无法控制植物名称的选择或格式,因此无法更改原始名称。
有什么想法吗?
matchingDiv = $("[class=iconDiv]:contains(" + botName + ")");
html采用以下格式:
<div id="iconDiv-Cornus florida var rubra" class="iconDiv"
onclick="select(this,28);" title=""
style="background-color: rgba(0, 0, 0, 0);">
<div class="table">
<img class="imgs" src="/Library/Application Support/Xxxxx/Xxxxx/Cornus_florida_var_rubra/Cornus_florida_var_rubra.png"
width="177" border="0">
<div class="nameDiv">
Pink-flowering dogwood<br>(Cornus florida var. rubra)
</div>
</div>
</div>
答案 0 :(得分:0)
:contains()找到了匹配的子文本,而不是匹配的子ID,这在少数情况下起了至关重要的作用。谢谢,Taplar和Andreas!
这最终起作用了:
$('.iconDiv').filter('[id*="'+ botName + '"]')