以innerHTML值来查找元素
老师好!
有多个相同的P元素,内容都不一样,我想用一个innerHTML内容来找到它对应的P元素,怎样实现?
就是说,在页面上有一个输入框,和多个P元素,然后在输入框里输入字符串,从下面的P元素里找到相同的内容,来操作。
这个作用和浏览器本身的查找功能一样。
老师好!
有多个相同的P元素,内容都不一样,我想用一个innerHTML内容来找到它对应的P元素,怎样实现?
就是说,在页面上有一个输入框,和多个P元素,然后在输入框里输入字符串,从下面的P元素里找到相同的内容,来操作。
这个作用和浏览器本身的查找功能一样。
2016-04-06
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> 页面查找不同标签的内容 </title> <style type="text/css"> body{ margin:20px; } .body{ width: 300px; height: 200px; background-color: #ddd; } p{ font-size: 20px; line-height: 25px; height: 25px; } .p_serchar{ /*定义被搜索到时的显示样式*/ background-color: blue; color: #fff; } </style> <script type="text/javascript"> function search(){ //获取input标签对象(注意是对象不是内容) var search_str = document.getElementById("search_str"); var is_search; //用于判断是否出现相同内容 alert("你将要搜索:"+search_str.value); //循环遍历p标签的HTML内容 for (var i = 0; i < 4; i++) { //获取第i个p标签对象 var p = document.getElementsByTagName("p")[i]; p.className="";//初始化,清除每次遍历后p标签的class值 if (p.innerHTML==search_str.value) { p.className="p_serchar"; is_search = 1; //如果存在相同则记录为1 } } //在p标签遍历完后如果is_search=1,则证明存在有相同内容,否则输出警告 if(is_search!=1){ alert("你输入的内容并不在任何p标签中存在!"); } is_search = 0;//对判断元素初始化 } </script> </head> <body> <div> 请输入关键内容:<br> <input type="text" id="search_str" placeholder="请输入已有内容"> <input type="button" onClick="search()" value="搜索"> </div> <div class="body"> <p>你好</p> <p>他好</p> <p>我好</p> <p>大家好</p> </div> </body> </html>
如上代码,你可以复制到外部编辑器运行,代码相关位置有详细解说,还不懂可以先看3-6控制类名那节。
举报