我知道这对你们大多数人来说可能很容易,但作为初学者,我正处于艰难时期。
如果div2中包含foobar这个词,我想显示div1。
答案 0 :(得分:5)
// get div 2
var div = document.getElementById("div2");
// get string content
var text = div.innerHTML;
// test if foobar is in text
if (text.indexOf("foobar") >= 0) {
// if so set display to block.
document.getElementById("div1").style.display = "block";
}
哦,如果你喜欢jQuery那么:
if ($("#div2").text().indexOf("foobar") >= 0) {
$("#div1").show();
}
虽然仅仅为此使用jQuery是过度的。如果它仍在页面上,这是一个很好的语法糖。
答案 1 :(得分:3)
if (/\bfoobar\b/.test(document.getElementById('div2').innerHTML){
document.getElementById('div1').style.display = 'block';
}
这使用正则表达式/\bfoobar\b/
来测试两端带字边界的字符串“foobar”。 “foobars”不会匹配,但“我说'foobar'”会。
RegExp.prototype.test()
方法接受一个字符串,如果正则表达式可以在其中某处匹配,则返回true,否则返回false。
我们传入div的innerHTML
,就像它里面的源代码一样。
我假设你已经通过JS或样式表将div
样式设置为display
来隐藏none
,例如
#div1 { display:none }