牧麟
牧麟
  • 发布:2018-06-28 12:28
  • 更新:2018-12-31 02:53
  • 阅读:3774

mui嵌套网页后的获取某个元素

分类:HTML5+
mui.init();  
            mui.plusReady(function() {  
                var ws = plus.webview.currentWebview();  
                var url = ws.url;  
                var child = plus.webview.create(url, "", {  
                    top: "46px",  
                    bottom: "0"  
                });  
                ws.append(child);  
                child.addEventListener('loaded', function() {  
                                       var obj=document.getElementById("content");  
                    if(obj!=null){  
                        ...  
                    }  
                    plus.nativeUI.closeWaiting();  
                    child.show('slide-in-right', 300);  
                })  
            });

加载网页后,我想取到该网页的某个元素,如id='content',获取不到(该网页中是有这个元素存在的),请问应该怎么做,谢谢

2018-06-28 12:28 负责人:无 分享
已邀请:
回梦無痕

回梦無痕 - 暂停服务

你在当前页面运行getElementById,获取的当然还是当前的页面dom。想要在目标页面运行JS,可以改目标页面的JS代码,或者用evalJS方法。

牧麟

牧麟 (作者)

可以给一下具体的代码吗,谢谢

回梦無痕

回梦無痕 - 暂停服务

wobj.evalJS( js );
过时的流行

过时的流行 - 希望dcloud能越做越好

document.getElementById("id名称").addEventListener('tap', function() {
});

牧麟

牧麟 (作者)

用child.evalJS('alert(document.getElementById('content').innerHTML);') 可以弹出需要的内容出来,但怎样可以把这个内容输出到当前的界面上来

  • 过时的流行

    <div id="xx"></div>页面展示位置

    document.getElementById('xx').innerHTML=document.getElementById('content').innerHTML;

    2018-06-28 15:33

牧麟

牧麟 (作者)

想要的结果是:加载一个网页,然后只取需要的部分,现在通过

mui('#id').load(url, function() {  
 var nr = document.getElementById("content").innerHTML;  
}  
)

可以实现,但这个load出来的没有样式,只好自己再补充样式上去,不知有没有其它简单的方法。

0o鬼瞳o0

0o鬼瞳o0

我也碰上此类问题了,求解决。随便找了个适配手机的网站审查元素后比如想要隐藏嵌套该网站的头部区域该如何操作?

该问题目前已经被锁定, 无法添加新回复