如何检查字符串是否包含子串?
我有一个购物车,在一个下拉菜单中显示产品选项,如果他们选择"是",我想让页面上的一些其他字段可见。
问题是,购物车还包括文本中的价格修饰语,每个产品的价格都可能不同。下面的代码可以工作。
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str == "Yes (+ $6.95)") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
然而,我更希望使用这样的代码,但这并不奏效。
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str *= "Yes") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
我只想在选定的选项包含"Yes"字样时执行该动作,而忽略价格修饰语。
957
3
像这样。
......或者你可以使用tilde运算符。
这样做是因为
indexOf()
返回-1
,如果根本就没有找到这个字符串。注意,这是对大小写敏感的。
如果你想进行不区分大小写的搜索,你可以这样写
或者。
你可以使用搜索或匹配来实现这一点。
str.search( 'Yes')
。将返回匹配的位置,如果没有找到,则返回-1。
另一种方式。
在Firefox、Safari 6和Chrome 36上测试