2011-09-15 307 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; 
} 
相關問題