document.getElementById("idname").innerText
document.getElementById("idname").innerHTML

解决方案 »

  1.   

    var divs = objText.getElementsByTagName("div");
    for (var i = 0; i < divs.length; i++)
    {
       if (divs[i].getAttribute("idname"))
       {
          return divs[i].innerText;
       }
    }
      

  2.   

    4楼那个把所有<div>的标签都扫描了一遍
      

  3.   

    不行啊,
    alert(objText);
    alert(document.getElementById("idname").innerHTML);
    第一個正確提示捉取的網頁內容,第二個提示就出錯了:此外需要物件
      

  4.   

    alert(objText.getElementById("idname").innerHTML);
    這樣寫出錯提示:物件不支緩此屬性和方法
      

  5.   

    在ie里面请用
    alert(document.getElementById("idname").innerHTML);
    在ff里面请用
    alert(document.getElementById("idname").textContent);
      

  6.   

    在ie裡的,
    但是document.getElementById("idname").怎麼能起做用呢?idname不在當前網頁裡,只在objText對象裡面
      

  7.   

    先把objText 赋给某个div 如document.getElementById('div1').innerHTML = objText;
    再alert(document.getElementById("idname").innerHTML);
      

  8.   

    <div id=\"idname\">([\s|\S]*?)</div>
      

  9.   

    <div id=\"idname\">([\s|\S]*?)</div>
    ======
    这个正则怎么用?
    var objText = xmlHttp.responseText;
    这样读取的网页内容的objText是字符串来的,是不能用getElementById来操作里面的内容的,我用字符串操作解决了,
    用split,从<div id="idname">字符将objText分成数组,然后objText[1]取得后半部分内容,
    再用</div>将objText[1]分成数组,然后objText[0]就是我要的内容了。
      

  10.   

    先把objText 赋给某个div 如document.getElementById('div1').innerHTML = objText;
    再alert(document.getElementById("idname").innerHTML);
    ==========
    这个应该也可以,赋给隐藏的'div1'就是当前网页的一部分了,然后应该可以用getElementById来操作了
      

  11.   

    <input type="button" value="GetDiv" onclick="getDivContent();">
    <script>
    function getDivContent()
    {
    var div_str = 'dsadasd<div id="idname">csdfaer2342rwqer2?$@#$@#Dswweef</div>231231';

    var re = /<div id="idname">[\s|\S]*?<\/div>/; alert(div_str.match(re));
    }
    </script>
      

  12.   

    楼上匹配出来不还是“<div id="idname">csdfaer2342rwqer2?$@#$@#Dswweef</div>”嘛。楼主的意思是要 <div> 标记包含的内容,标记本身是不需要的。
    正确的代码应该是这样的:
    <input type="button" value="GetDiv" onclick="getDivContent();">
    <script>
    function getDivContent()
    {
    var div_str = 'dsadasd<div id="idname">csdfaer2342rwqer2?$@#$@#Dswweef</div>231231';

    var re = /<div id="idname">(.*?)<\/div>/;
    re.exec(div_str);
    alert(RegExp.$1);
    }
    </script>
      

  13.   

    既然是要标记里面的内容,那就用xml传数据啊
    js用responseXML,然后用js的DOM得到这个id='...'的内容,
    为什么要用reponseText,把问题搞的这复杂
      

  14.   

    我试过用xml的,但我捉的网页不规范,不是xml格式,会出错,所以只有用text来操作它,
    正则可以我得把用数组的方法改成用正则
      

  15.   

    明天试一下正则,不知道行不行,因为内容里面还有很多个<div>的,
    <div id="idname">csdfaer23<div>42r</div>wqer2<div>?$@#$@#D</div>swweef</div>
    有机会是这样的,
      

  16.   

    如果是<div id="idname">csdfaer23<div>42r</div>wqer2<div>?$@#$@#D</div>swweef</div>类型的,那idname的DIV之外不能再有DIV包含,不然就不好处理,可以用:<div id=\"idname\">([\s|\S]*)</div>
      

  17.   

    //tantiancai() 
    页面表现上div不影响内容嘛,我想当然了~这个正则的问题就象楼上说的那样,idname必须为最外层的div ..
      

  18.   

    <div id="idname">([\s|\S]*)</div>
    ---------
    上面這個差不多可以,前面的都不行輸出是空,
    上面這個可以從<div id="idname">開始提取內容,只是結尾超了,如:
    csdfaer23<div>42r</div>wqer2<div>?$@#$@#D</div>swweef</div><table><tr><td>***其它內容***</td></tr><table><div id="yyyy"></div><div class="zzzzz">idname的DIV之外還有DIV包含的,我要提取的內容是在網頁的中間,前面和後面都還有div的,
    還有怎麼將<div id="idname">([\s|\S]*)</div>中的idname換成變量?因為idname是文章的id會變化的。
      

  19.   

    服务器输出用xml格式,这个会错,不是吧.
      

  20.   

    <script>
    function getDivContent(id)  // id 为要获取内容的 id 名
    {
        var div_str = 'dsadasd<div id="idname">csdfaer23<div>42r</div>wqer2<div>?$@#$@#D</div>swweef</div><table><tr><td>***其它內容***</td></tr><table><div id="yyyy"></div><div class="zzzzz">';    div_Temp = document.getElementById("temp")
        div_Temp.innerHTML = div_str; // 将字符串放到隐藏的 div 中
        alert(document.getElementById(id).innerText);
        //alert(document.getElementById(id).innerHTML);
    }</script>
    <input type="button" value="GetDiv" onclick="getDivContent('idname');"><div id="temp" style="display:none;"></div>这样行吗?至少 IE 里测试通过了。
      

  21.   

    在 FireFox 中改成 alert(document.getElementById(id).textContent); 测试通过。
      

  22.   

    服务器输出用xml格式,这个会错,不是吧.
    ==========
    當然會出錯,我試過的
    換成
    var objText = xmlHttp.responseXML;
    alert(objXML.xml);這樣得到的值是空,然後接下來的代碼就出錯了,而如果是正確的xml文件會看到整顆樹的,
      

  23.   

    服务器输出用xml格式,这个会错,不是吧.
    ====
    是捉別人的網頁內容,不是自己在服務器輸出的網頁
      

  24.   

    目前我用數組是這樣解決的:
    var firsttext = objText.split("<div id=\"idname\">");
    objText=firsttext[1];
    var twotext=objText.split("</div><table><tr><td>");
    objText=twotext[0]
    這樣就得到我想要的內容了
      

  25.   

    <input type="button" value="GetDiv" onclick="getDivContent('idname');">
    <div id="temp" style="display:none;"></div>这样行吗?至少 IE 里测试通过了。
    ==========================
    這樣應該行的,理論上是沒問題的。这个正则的问题就象楼上说的那样,idname必须为最外层的div ..
    ===============
    idname如果為最外層了就不用處理了啊,直接拿數據就行了。
      

  26.   

    还是改用DOM方式了,最省事!
      

  27.   

    是啊~~~这样就好了先把objText 赋给某个div 如document.getElementById('div1').innerHTML = objText;
    再alert(document.getElementById("idname").innerHTML);
    ==========
    这个应该也可以,赋给隐藏的'div1'就是当前网页的一部分了,然后应该可以用getElementById来操作了