2011-09-15 245 views
2

我正在处理一个简单的if/else jquery语句,并且遇到了一些与该变量有关的问题。我需要做的是检查var是否为真。在我的情况下,我希望它检查是否有'不推动'它。如果确实如此,那么html必须变成'lol'。如果不是,它会给出一个简单的警报。有人可以在这里给我一些指导吗?如何检查一个字符串是否包含特定的子字符串

<!DOCTYPE html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta name="viewport" content="user-scalable=no, width=device-width" /> 
<title>Untitled Document</title> 
<link href="mobile.css" rel="stylesheet" type="text/css" media="only screen and (max-width: 480px)" /> 
<script type="text/javascript" src="js/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('#nietklikken').click(function() { 
     var n = $(this).html('dont push'); 
     if (n == "$(this).html('dont push')"){ 
      $(this).html('lol')  
     } else { 
      alert('lolz'); 
     } 
    }); 
}); 
</script> 
</head> 

<body> 
<button type="button" id="nietklikken">dont push</button> 

</body> 
</html> 

回答

2

$(this).html()get innerHTML值和$(this).html(arg)set innerHTML值。正确的用法如下。

$('#nietklikken').click(function() { 
    if ($(this).html().indexOf('dont push') > -1){ 
     $(this).html('lol')  
    } else { 
     alert('lolz'); 
    } 
}); 

您应该在jquery docs中了解更多信息。

更新:它现在将检查innerhtml是否包含“不推送”。

+0

他想检查它是否包含文本“不推送”,而不是它是否完全匹配。 –

1

您可以使用'indexOf'运算符来告诉您一个字符串是否包含另一个字符串。尝试 -

if ($(this).html().indexOf('dont push') != -1){ 
      $(this).html('lol')  
     } else { 
      alert('lolz'); 
     } 
+0

打败我吧。 +1 –

0

您可以通过调用html()方法不带任何参数,像这样得到一个元素的HTML内容:

var innerHtml = $(someElement).html(); 

然后,您可以通过使用indexOf就像检查一个字符串的存在所以:

var position = "Find the string".indexOf("the"); 
// position = 5 

如果给定字符串不存在,indexOf将返回-1。

var position = "Find the string".indexOf("notFound"); 
// position = -1 

然后,您可以在if语句中使用这个像这样

if($(someElement).html().indexOf("dont push") >-1) 
{ 
    // Required action here 
} 
0

的工作JavaScript代码来检查,如果字符串中包含特定的词/子:

var inputString = "this is my sentence"; 
var findme = "my"; 

if (inputString.indexOf(findme) > -1) { 
    out.print("found it"); 
} else { 
    out.print("not found"); 
} 
1

一般来说,你可以使用像这样的功能

function HasSubstring(string,substring){ 
    if(string.indexOf(substring)>-1) 
     return true; 
     return false; 
} 
相关问题