function show1() {
alert( $("#xxx").html() );
}
<div id="xxx">
<input name="RadioGroup1" type="radio" id="RadioGroup1_1" />
</div><a href="#" onclick="show1();">显示</a>
当点击radio为选中状态时,点击“显示”后获得的html是
<INPUT id=RadioGroup1_1 type=radio name=RadioGroup1>
而不是
<INPUT id=RadioGroup1_1 type=radio name=RadioGroup1 CHECKED >
怎样才能正确的获得当前radio选中状态的html代码呢?

解决方案 »

  1.   

    如果把页面顶部的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">去掉的话就能正常显示
      

  2.   

    你点击了 其innerHTML也不会变的啊 你非要这个innerHTML中加入checked干嘛
      

  3.   

    <script>
    function theforever_csdn(){
     alert($("input[name='RadioGroup1']").attr("checked"));
    }
    </script><div id="xxx">
        <input name="RadioGroup1" type="radio" id="RadioGroup1_1" />
    </div><a href="#" onclick="theforever_csdn();">显示</a>
      

  4.   

    浏览器读原始的HTML,CSS和JS,然后解释呈现给观众,但不会反回去改写HTML。
    你应通过JS访问DOM和BOM来得到想得到的信息。
      

  5.   

    实在是不清楚楼主的意思。难道是把innerHTML和checked属性连接起来的意思???
      

  6.   

    我也这样觉得,但是正像我说的把页面上部的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1这部分去掉就能获得改变后的状态,而且我的一个同事,用同样的方法竟然也没问题,但是我这边就是不行,不知道为什么。(请不要试图用我的rp来解释)。
      

  7.   

    WOKO,没注意这回事。
    你看 <INPUT id=RadioGroup1_1 type=radio name=RadioGroup1 CHECKED >
    这很明显不合乎XHTML的要求,按XHTML的惯例应该写成CHECKED=TRUE,但这个现在是IE设置的,不是你写的,所以追究原因,是你使用了不合适的DTD类型,不要用XHTML这个类型,用HTML的。这是现在很多网页制作者没有意识的,XHTML不是随便乱用的。
      

  8.   

    要不然,就是知道这个样子,然后用JS取CHECKED属性来显示给用户。
      

  9.   

    因为初衷是想直接把客户填写的调查表单html发送到客户的邮箱,这样就省事了。
    最后的解决方法是通过一个iframe引用到一个非XHTML标准的页面。