如某元素的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()获取
1获取元素内的文本例如:有标签<strong,取<strong的文本内容:非mozilla浏览器:strongeleminnertext其它浏览器:strongelemfirstchildnodevalue;还有一个通用的函数:function text(e){var t="";e = echildnodes || e;for(var j=0;j<elength;j++){t += e[j]nodetype != 1 e[j]nodevalue : text(e[j]childnodes);}return t;}2获取元素内的html所有现代浏览器,都实现了html dom 元素的一个额外属性:innerhtml使用这个属性就可以从一个元素中提取所有的html和文本了。如果元素内,只有文本,可以替换上面的方法;如果含有子元素,则提取所有子元素和文本。3 *** 作元素特性获取和设置特性的值,常用的可以使用getattribute和setattributeHTML DOM文档还有作为快速特性获取器(getter)/设置器(setter)的额外属性集合,比如:elementid="main",elementvalue="123",作者有个更通用的方法,来获取和设置,写得很好,可以看看81页。下面是总结的一些在DOM中常用的方法:/根据id获得元素/function id(name){return documentgetElementById(name);}/有elem参数,是查找elem下的节点名;如果没有elem,则查找整个文档/function tag(name,elem){return (elem || document)getElementsByTagName(name);}/找出全部有指定类值的元素/function hasclass(name,type){var r=[];var re=new RegExp("(^|//s)" + name + "(//s|$)");var e = documentgetElementsByTagName(type || "");for(var j=0;j<elength;j++)if(retest(e[j])) rpush(e[j]);return r;}/获取元素文本内容的通用函数/function text(e){var t = "";e= echildNodes || e;for(var j=0;j<elength;j++){
只能通过JavaScript来获取, 然后通过JS获取, 然后通过JavaScriptInterface来传递给Java层。\x0d\\x0d\做webview,遇到2种需求,一种是在自己服务器上的HTML中获取数据,另一种是通过自己服务器上的HTML中的超链接跳到另一个站点的HTML中,并获取数据。\x0d\于是,总结了2种通过webview获取网页上的数据的方式:\x0d\第一种:简单点的,直接通过js调java,在调用方法的过程中将数据通过方法的参数传递给Android端,(前提:服务端有对应的faxun对象,而且调用的方法是showImages(String[] imgUrls))。\x0d\\x0d\class MyJavaScriptInterface {\x0d\\x0d\ MyJavaScriptInterface() {\x0d\ }\x0d\\x0d\ /\x0d\ js调java,显示\x0d\ \x0d\ @param imgUrls\x0d\ /\x0d\ @JavascriptInterface\x0d\ public void showImages(String[] imgUrls) {\x0d\ LogUtilsi(TAG, "imgUrls = " + imgUrls[0]);\x0d\ NewsDetailWebviewActivitythisimgUrls = imgUrls;\x0d\ }\x0d\}\x0d\\x0d\\x0d\webViewaddJavascriptInterface(new MyJavaScriptInterface(), "faxun");\x0d\\x0d\第二种:有点复杂,通过webview注册一个本地接口后,然后通过java调js,拿到document对象后,解析HTML标签,然后数据会通过本地接口中的回调方法传递给Android端,(前提:HTML页面中的meta标签中有对应的reply_info名称和content属性,数据是封装在content里面的json格式的字符串)。\x0d\\x0d\class MyWebClient extends WebViewClient {\x0d\@Override\x0d\ public void onPageFinished(WebView view, String url) {\x0d\ viewloadUrl("javascript:windowgetShareDataOnGetShareData("\x0d\ + "documentquerySelector('meta[name=\"reply_info\"]')getAttribute('content')" + ");");\x0d\ superonPageFinished(view, url);\x0d\ }\x0d\}\x0d\\x0d\private class GetShareDataInterface {\x0d\ @JavascriptInterface\x0d\ public void OnGetShareData(String shareData) {\x0d\ if (null != shareData) {\x0d\ try {\x0d\ JSONObject shareJson = new JSONObject(shareData);\x0d\ title = shareJsonoptString("title");\x0d\ description = shareJsonoptString("description");\x0d\ imageUrl = shareJsonoptString("imageUrl");\x0d\ } catch (JSONException e) {\x0d\ eprintStackTrace();\x0d\ }\x0d\\x0d\ }\x0d\ }\x0d\ }\x0d\\x0d\\x0d\webViewsetWebViewClient(new MyWebClient());\x0d\\x0d\其实,如果是普通的需求,两种方式都可以解决问题,但是如果是有些HTML没有做js调java,只是个普通的HTML,并且需要获取页面上的数据时,只能通过第二种方式来获取HTML上的数据了,比如获取HTML上的title等等。
html中获取标签的数据,可以通过js来获取,如下代码:
<script type="text/javascript" src="js/jqueryjs"></script>
<script type="text/javascript">
function validate(){
//一 .是通过jDOM
// var attitudeObj = documentgetElementById("attitude");
//var attitude = attitudeObjinnerHTML;
//二 .是通过jquery
var att = $("#attitude")text();//可以得到输入域中的内容
var idnum = $("#idnum")val();
var name = $("#name")val();
var t_name = $("#t_name")val() ;
var pro_name = $("#pro_name")val() ;
// alert(att);
if( name == null || name == "" ){
alert("请输入毕业设计名称!");
return false;
}
att = attreplace(/\s+/g,"");
if( att == null || att == ""){
alert("请输入选题须知!");
return false;
}
if( t_name == null || t_name == "" ){
alert("请选择教师!");
return false;
}
if( pro_name == null || pro_name == ""){
alert("请选择专业!");
return false;
}
location="teacher/mainfrajsp";
//location="teacherAction_AddGraduationTitleactionidnum=" + idnum +"&cname=" + cname +"&start=" + start+"&end=" + end;
return true;
}
</script>
</head>
<body">
<div >
<div style="margin-left: 100px;">
<!-- <form action="teacherAction_AddGraduationTitleaction" method="post" >-->
<span>自动编号:</span><input type="text" readonly="readonly" name="idnum" id="idnum" style="background: gray;" value="<s:property value="#requestmaxIdnum"/>"/><br/>
<br/>
<span>毕业设计名称:</span><input type="text" name="name" id="name"/><br/><br/>
<span>所属教师:</span><select name="t_name" id="t_name">
<option></option>
<s:iterator value="teacherList">
<option value="<s:property value='idnum' />"><s:property value="name" /></option>
</s:iterator>
</select> <br/> <br/>
<span>所属专业:</span><select name="pro_name" id="pro_name">
<option></option>
<s:iterator value="professionList">
<option value="<s:property value='idnum' />"><s:property value="pro_name" /></option>
</s:iterator>
</select>
<br/>
<br/>
<span>选题须知:</span>
<textarea id ="attitude" name="attitude" rows="3" cols="30" style="color: red;">
</textarea>
<br/>
<br/>
<input type="button" value="添加"> <input style="margin-left: 100px" type="reset" value="重置">
<!-- </form> -->
</div>
</div>
</body>
使用jq就可以获取了。比如:
HTML:
<div><p>文本</p>
</div>
JQ:
$("div p"); //获取div里面的所以p标签元$("p")html(); //获取p标签里面的内容元素
有两个问题:
1 frame标签后面加冒号是标准的frame写法吗?不会是自定义的标签吧
<frame:groupmenu >
</frame>
2 我用的switch_to_frame(frameName) 没有问题
print '-------------------------switch to top frame'driverswitch_to_default_content()
driverswitch_to_frame('top')
print driverfind_element_by_id('top-btn')text
print 'switch_to_frame done'
print '-------------------------switch to left frame'
driverswitch_to_default_content()
driverswitch_to_frame('left')
print driverfind_element_by_id('left-btn')text
print 'switch_to_frame done'
print '-------------------------switch to main frame'
driverswitch_to_default_content()
driverswitch_to_frame('main')
将文章的html代码存入到数据库中,读取时不能简单地截取一定字符,必须根据html的结构适当截取内容,否则将显示错误,下面是使用SystemWindowsForms中的WebBrowser进行Html解析的代码
public string GetAbstract(string content, int maxLength){
string text = "";
SystemWindowsFormsHtmlDocument html;
if (contentLength < maxLength)
{
text = content;
}
else
{
SystemWindowsFormsWebBrowser browser = new SystemWindowsFormsWebBrowser();
browserNavigate("about:blank");
html = browserDocumentOpenNew(true);
browserDispose();
htmlWrite(content);
foreach (SystemWindowsFormsHtmlElement ele in htmlBodyChildren)
{
if (textLength + eleOuterHtmlLength < maxLength)
{ text += eleOuterHtml; }
else { break; }
}
}
return text;
}
}
以上就是关于如何获取html styleid 的元素全部的内容,包括:如何获取html styleid 的元素、如何获取元素的内容、WebView怎么获取Html元素的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)