1. <!DOCTYPE html>
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Title</title>
  7. </head>
  8. <body>
  9. <div class="one"> one </div>
  10. <br>
  11. <h1 class="three">three</h1>
  12. <form class="two" action="">
  13. <i class="two a" id="">two a</i><br>
  14. <b class="two b">two b</b><br>
  15. <b class="two">two</b><br>
  16. <b class="two c">two c</b><br>
  17. <b class="two d a c">two d a c</b><br>
  18. <string class="two e ">two e</string><br>
  19. <a href="javascript:;" class="three h" onclick="getClassNames()">点击获取</a>
  20. </form>
  21. <script>
  22. function getClassName(tag ='', classNames='' ) {
  23. var returnTags=[];
  24. var tags;
  25. if(tag===''){
  26. tags = document.getElementsByTagName("*");
  27. }else {
  28. tags = document.getElementsByTagName(tag);
  29. }
  30. var c=classNames.split('|');
  31. if(c .length===1 && c[0]===''){
  32. alert('类名不能为空');
  33. return false
  34. }
  35. for (var i =0;i<tags.length;i++){
  36. var c1=tags[i].className.split(' ');
  37. if( c .length===1){
  38. //遍历每个标签
  39. c1.forEach(function (v,index) {
  40. if (v === c[0]) {
  41. returnTags.push(tags[i])
  42. }
  43. })
  44. }else {
  45. //遍历每个标签
  46. c1.forEach(function (v,index) {
  47. // 遍历每个需要查询的每个类名
  48. if(!returnTags.includes(tags[i])){
  49. c.forEach(function (value) {
  50. if(!returnTags.includes(tags[i])) {
  51. if (v === value) {
  52. returnTags.push(tags[i]);
  53. }
  54. }
  55. })
  56. }
  57. })
  58. }
  59. }
  60. return returnTags;
  61. }
  62. function getClassNames(){
  63. var tt = prompt('请输入查询的标签,全部标签请用*代替',"*");
  64. var cc = prompt('请输入查询的类名多个用 | 隔开,目前已定义的类名 one two three a b c d e ');
  65. console.log(getClassName(tt, cc));
  66. }
  67. </script>
  68. </body>
  69. </html>

更多相关文章

  1. html中的table标签制作表格
  2. html中的teble标签制作表格
  3. 使用伸缩盒标签制作一个首页的二级分类
  4. HTML标签作业之table-lesson02
  5. 1109课程作业
  6. 标签切换、轮播图及购物车小案例相关知识总结
  7. 2021.11.9 作业
  8. 2021年11月9日作业1
  9. 我的第一个作业

随机推荐

  1. Android中有时候运行程序的时候会报错:An
  2. 仿微信公众号界面实现
  3. . lang。例:Rect应该与child的界限相交。
  4. 安卓中无限轮播的实现
  5. 【Camera】Android平台Camera实时滤镜实
  6. Say Hello To Android(解析Android项目目
  7. 如何将音频文件与新视频文件合并?是否可以
  8. 在Skobbler中完成导航时,确定“街边”的最
  9. Fragment的setUserVisibleHint方法实现视
  10. Android L无法接听/拒接来电现象的分析与