Dav*_* R. 5 javascript tags search innerhtml match
这可能是非常简单的事情,但我只是在学习.
有一个页面上有3个blockquote标签,我需要得到包含某个字符串的innerHTML.我不知道如何搜索/匹配字符串并获取包含匹配结果的标记的innerHTML.
任何帮助,将不胜感激!
var searchString = 'The stuff in innerHTML';
var elements = document.getElementsByTagName('blockquote')
for (var i = 0; i < elements.length; i++) {
if (elements[i].innerHTML.indexOf(searchString) !== -1) {
alert('Match');
break;
}
}
Run Code Online (Sandbox Code Playgroud)
:)
顺便说一句,如果你使用Prorotype JS(比jQuery btw好得多)会有一个更好的方法:
var el = $$('blockquote').find(function(el) {
return el.innerHTML.indexOf('The string you are looking for.') !== -1;
});
Run Code Online (Sandbox Code Playgroud)
您当然也可以使用正则表达式来查找字符串,这可能更有用(使用el.match()).
如果您需要搜索<blockquote>页面上的每个内容,请尝试以下操作:
function findBlockquoteContainingHtml(matchString) {
var blockquoteElements = document.getElementsByTagName('BLOCKQUOTE');
var i;
for (i = 0; i < blockquoteElements.length; i++) {
if (blockquoteElements[i].innerHTML.indexOf(matchString) >= 0) {
return blockquoteElements[i].innerHTML;
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)