我有一个特定类的跨度,我想检查它是否包含它并隐藏另一个元素。
更具体地说,我有:
<span class="border">0€</span>
<div class="pop">something</div>
我尝试了代码,但不幸的是它不起作用。
if ($(".border").html().indexOf("span") == 0€ ){
$("div[name=pop]").hide()
}
期待您的回复。
答案 0 :(得分:2)
indexOf
函数返回索引,您无法将其与您要查找的字符串 0€进行比较。
if ($(".border").html().indexOf("0€") != -1 ){
你可能需要文本而不是html,因为这个字符串不是html的一部分。
if ($(".border").text().indexOf("0€") != -1 ){
根据他作为答案添加的OP评论编辑。
TypeError:$不是函数
您需要添加jQuery的引用,以便使用像$
这样的jQuery函数,您将收到错误。此问题Is there a link to the “latest” jQuery library on Google APIs将显示您可以添加jQuery
。
Is there a link to the "latest" jQuery library on Google APIs?
答案 1 :(得分:1)
使用:contains
伪选择器:
选择包含指定文本的所有元素。
if ( $('.border:contains("0€")')
<强>更新强>
如果您想检查它是否包含特定0€
if ( $('.border:contains(" 0€")') // This will not select 100€
假设0€
答案 2 :(得分:0)
不要使用:contains()或indexOf(),因为它会在100€
if ($("span.border").html().trim() == '0€') {
$("div[name=pop]").hide()
}