河南微网站建设,手机app开发需要什么技术,wordpress discuz用户,厂家做网站首先要使用js交互就需要懂原理#xff1a; 感谢大佬#xff1a;js中document节点获取页面元素的六种方式 1.querySelector()方法 描述#xff1a;本方法用于根据给定的选择器选中页面元素 如果有多个元素满足条件#xff0c;则返回第一个满足条件的元素节点
语法#xff…首先要使用js交互就需要懂原理 感谢大佬js中document节点获取页面元素的六种方式 1.querySelector()方法 描述本方法用于根据给定的选择器选中页面元素 如果有多个元素满足条件则返回第一个满足条件的元素节点
语法document.querySelector(选择器名);
注意如果查找失败返回null
2.querySelectorAll()方法 描述本方法用于根据给定的选择器选中页面元素 如果有多个元素满足条件则返回这些元素构成的集合
语法document.querySelectorAll(选择器名);
注意 (1)返回的结果是一个节点列表不是数组但能够像使用数组一样使用列表 (2)如果查找失败返回一个空的节点列表(.length0)
!DOCTYPE html
htmlheadmeta charsetUTF-8titledocument节点获取页面元素/title/headbodydiv iddiv我是第一个div/divdiv classdiv我是第二个div/divdiv我是第三个div/divp我是p标签/ph2我是h2标签/h2button nameaaa我是button/button/bodyscript typetext/javascriptvar div document.querySelector(#div);console.log(div); //div classdiv我是第二个div/divvar div document.querySelector(div);console.log(div); //div iddiv我是第一个div/divvar divList document.querySelectorAll(div);console.log(divList); //NodeList(3) [div#div, div.div, div]console.log(divList[1]); //div classdiv我是第二个div/divconsole.log(divList.length); //3 /script
/html
3.getElementById()方法 描述根据指定的id名选中页面元素 如果存在多个指定 满足条件元素则返回第一个元素节点
语法document.getElementById(id名);
注意如果查找失败返回null 4.getElementsByClassName()方法 描述根据指定的类名选中页面中所有满足条件的元素 语法document.getElementsByClassName(类名); 注意返回结果是一个有顺序的节点列表可以通过索引来访问列表中的元素(索引从0开始) 5.getElementsByTagName()方法 描述根据指定的标签名选中页面中所有满足条件的元素
语法document.getElementsByTagName(标签名);
注意如果参数值为*,则返回文档中的所有元素 6.getElementsByName()方法 描述根据指定的name值选中页面中所有满足条件的元素
语法document.getElementsByName(name属性);
!DOCTYPE html
htmlheadmeta charsetUTF-8titledocument节点获取页面元素/title/headbodydiv iddiv我是第一个div/divdiv classdiv我是第二个div/divdiv我是第三个div/divp我是p标签/ph2我是h2标签/h2button nameaaa我是button/button/bodyscript typetext/javascriptvar a document.getElementById(div);console.log(a); //div iddiv我是第一个div/divvar b document.getElementsByClassName(div);console.log(b); //HTMLCollection [div.div]var c document.getElementsByTagName(p);console.log(c); //HTMLCollection [p]var d document.getElementsByName(aaa);console.log(d); //NodeList [button] /script
/html 然后使用python也可以但是作为Android开发学习新的语言配置环境也是有成本的自己写的虽然丑但是够用所以以下 mWebView?.webViewClient object : WebViewClient() {override fun onPageFinished(view: WebView, url: String) {mWebView?.evaluateJavascript(document.getElementsByTagName(html)[0].innerHTML;) { value -Log.e(aaaaa, load:${url})if (lastUrl url) {var title url.substring(url.lastIndexOf(/), url.length)mWebView?.evaluateJavascript(document.getElementsByClassName(article-title text-center)[0].innerHTML;) { titleStr -if (titleStr.isNotEmpty()) {title titleStr.replace(\, ).replace(?, ).replace(, ).replace(\\n, ).replace(/, 、)}}mWebView?.evaluateJavascript(document.getElementById(article-content).innerHTML;) { contentStr -val file File(Environment.getExternalStorageDirectory().toString() File.separator html/ $title.html)val content contentStr.replace(\\u003C, ).replace(\\n, ).replace(\\\, \)val fw FileWriter(file)fw.write(getHtmlData(content))fw.close()Log.e(aaaaa, ${file.absolutePath}保存成功)endCheck()}} else if (value.contains(你访问的资源找不到了)) {Log.e(aaaaa, ${url}页面无法访问。。。)endCheck()}lastUrl url}super.onPageFinished(view, url)}}fun getHtmlData(bodyHTML: String?): String {val head head meta charset\utf-8\ meta name\viewport\ content\widthdevice-width,initial-scale1.0,user-scalableno\ style table {font-size: 14px !important;width: 100% !important; text-align: center;border: 1px solid #dee2e6;border-collapse: collapse;border-spacing: 0;} table td {border: 1px solid #dee2e6;padding: 0 !important;width: auto !important; word-wrap: break-word;word-break: break-all;overflow: hidden;text-align: center !important;vertical-align:middle !important;} table td span {font-size: 14px !important;text-align: center !important;vertical-align:middle !important;} p {font-size: 14px !important;} /style /headreturn html$headbodydiv style\overflow: auto;font-size: 14px !important;width: 100% !important;\$bodyHTML/div/body/html;}
只是能完成任务没有仔细打磨很粗糙不过还是那句话丑但是够用需要的话可以打磨一下就没有那么丑了。