如何查找跨度是否包含特定单词?

时间:2015-06-18 06:29:44

标签: jquery

我有一个特定类的跨度,我想检查它是否包含它并隐藏另一个元素。

更具体地说,我有:

<span class="border">0€</span>
<div class="pop">something</div>

我尝试了代码,但不幸的是它不起作用。

if ($(".border").html().indexOf("span") == 0€ ){
    $("div[name=pop]").hide()
}

期待您的回复。

3 个答案:

答案 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()
}