如何取到html标签里面的元素

如何取到html标签里面的元素,第1张

使用jq就可以获取了。比如:

HTML:

<div>

    <p>文本</p>

</div>

JQ:

$("div p");    //获取div里面的所以p标签

$("p")html();    //获取p标签里面的内容元素

在angularjs中获取元素的id的方法

<div id="{{ 'object-' + myScopeObjectindex }}"></div>

这样实际解析后的代码:

<div id="object-1"></div>

这样的id就可以通过document获取了。

只能通过JavaScript来获取, 然后通过JS获取, 然后通过JavaScriptInterface来传递给Java层。

做webview,遇到2种需求,一种是在自己服务器上的HTML中获取数据,另一种是通过自己服务器上的HTML中的超链接跳到另一个站点的HTML中,并获取数据。

于是,总结了2种通过webview获取网页上的数据的方式:

第一种:简单点的,直接通过js调java,在调用方法的过程中将数据通过方法的参数传递给Android端,(前提:服务端有对应的faxun对象,而且调用的方法是showImages(String[] imgUrls))。

class MyJavaScriptInterface {

MyJavaScriptInterface() {

}

/

js调java,显示

@param imgUrls

/

@JavascriptInterface

public void showImages(String[] imgUrls) {

LogUtilsi(TAG, "imgUrls = " + imgUrls[0]);

NewsDetailWebviewActivitythisimgUrls = imgUrls;

}

}

webViewaddJavascriptInterface(new MyJavaScriptInterface(), "faxun");

第二种:有点复杂,通过webview注册一个本地接口后,然后通过java调js,拿到document对象后,解析HTML标签,然后数据会通过本地接口中的回调方法传递给Android端,(前提:HTML页面中的meta标签中有对应的reply_info名称和content属性,数据是封装在content里面的json格式的字符串)。

class MyWebClient extends WebViewClient {

@Override

public void onPageFinished(WebView view, String url) {

viewloadUrl("javascript:windowgetShareDataOnGetShareData("

+ "documentquerySelector('meta[name=\"reply_info\"]')getAttribute('content')" + ");");

superonPageFinished(view, url);

}

}

private class GetShareDataInterface {

@JavascriptInterface

public void OnGetShareData(String shareData) {

if (null != shareData) {

try {

JSONObject shareJson = new JSONObject(shareData);

title = shareJsonoptString("title");

description = shareJsonoptString("description");

imageUrl = shareJsonoptString("imageUrl");

} catch (JSONException e) {

eprintStackTrace();

}

}

}

}

webViewsetWebViewClient(new MyWebClient());

其实,如果是普通的需求,两种方式都可以解决问题,但是如果是有些HTML没有做js调java,只是个普通的HTML,并且需要获取页面上的数据时,只能通过第二种方式来获取HTML上的数据了,比如获取HTML上的title等等。

如某元素的id为 oId

html方法获取:

var html = $("#oId")html(); //该方法获取内容包含元素内的标签

text方法获取:

var text= $("#oId")text(); /该方法获取内容不包含元素内的标签

如:

<script>

$(function(){

alert($("#oDiv")html());

alert($("#oDiv")text());

});

</script>

<div id="oDiv">name:<span>ligoudan</span></div>

依次 提示

name:<span>ligoudan</span> //html()获取

name:ligoudan //text()获取

写入就在事件加上个Responsewrite("<script>documentGetElementById('1')src='XXX';</script>");

为什么要读取?这个img本身就是静态的了

以上就是关于如何取到html标签里面的元素全部的内容,包括:如何取到html标签里面的元素、如何获取html元素id,通过angularjs、WebView怎么获取Html元素的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10173527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存