如何获取html styleid 的元素

如何获取html styleid 的元素,第1张

如某元素的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元素的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存