如果某个变量中没有<br/>
元素,我有一个if语句要执行。你会怎么做?
我试过
var str = "hello<br/>goodbye";
if( str.search("<br/>") == false) {
//execute certain code
}
但这不起作用。
答案 0 :(得分:4)
您也可以使用正则表达式:
if (/e/.test(str)) {
...
}
答案 1 :(得分:3)
search()函数返回找到匹配的位置(如果有)。如果未找到匹配项,则返回-1。所以你想要
var str = "hello";
if( str.search("e") <0) { //no match
//execute certain code
}
另请注意,搜索参数是正则表达式;当您尝试搜索可能相关的HTML标记时。
答案 2 :(得分:1)
不要将字符串文字作为 search()的参数传递。传递给 search()的任何非正则表达式都将用于创建正则表达式,其中的任何“特殊”字符将失去其字面含义。例如:
"Hello. Goodbye".search(".")
将返回0
,而不是5
字符所在的.
。这是因为.
在正则表达式中具有特殊含义,并且将匹配除换行符之外的任何字符。
你实际上需要indexOf()方法,该方法完全相同但接受一个字符串作为其参数,并返回字符串中子字符串匹配的位置:
var str = "hello<br/>goodbye";
if(str.indexOf("<br/>") == -1) { // String not found
//execute certain code
}
MDC documentation for search上的更多信息。
答案 3 :(得分:0)
search
函数返回一个索引。如果找到值,则为>=0
if ( str.search("e") >= 0 ) {
// the string matches
}
search
文档
您的原始问题虽然提到确定该值中是否没有<br/>
元素。关于这一点,你能更具体一点吗?特别是什么是值:DOM元素,字符串等......