使用firefox的jQuery问题:$('#element_id')。html()无效

时间:2011-01-29 07:02:12

标签: jquery html jquery-selectors

<div id="element_id">hellow world</div>

var value = $('#element_id').html() 

有时会返回"hello world",但并非总是如此。 val()始终有效,但不是html()这只发生在firefox中(始终在Chrome中运行)。有什么想法吗?

修改 还没有弄清楚问题,但是一旦找到它我就会发布结论!谢谢你的回复。

4 个答案:

答案 0 :(得分:0)

我认为this上一个问题可能会对您有所帮助。

P.S。当你说它有时工作但有时不工作时,div的内容是否有一些变化?

答案 1 :(得分:0)

您可以尝试将其包装到超时...

function sayHello() {
  var someContent = $('#element_id').html();
  alert(someContent);
}

setTimeout('sayHello()', 500);

看看它是否过早收到内容?

答案 2 :(得分:0)

这使用jQuery 1.4.4。我还没有测试过其他版本。

    $(document).ready(function(){
        function showhtml() {
            var eid = $('div.eid').html();
            alert(eid);
            $('code.status').html(eid);
        }
        showhtml();
    });

记住.text将只返回div中的文本,而.html将返回html标签包围的文本。

答案 3 :(得分:0)

完整的未经修改的代码供您尝试:

<!doctype html>
<html lang="pt-br">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <style type="text/css">
            p {color:#4f4}
            code {color:#999;font-family:monospace;font-size:14px}
        </style>
        <script type="text/javascript" src="libraries/jquery-1.4.4.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                function showhtml(n) {
                    //1 for html 0 for text
                    if(n == 1) {
                        var eid = $('div.eid').html();
                        alert(eid);
                        $('code.status').html(eid);
                    } else if(n == 0 || n == null) {
                        var eid = $('div.eid').text();
                        alert(eid);
                        $('code.status').text(eid);
                    }
                }
                showhtml();
            });
        </script>
        <title>jQuery html() text()</title>
    </head>
    <body>
        <div class="eid">
            <p>1 ajfdlk jaldkfjdksljfkldjlfkjal;fd</p>
            <em>2 ajd;fjal;kdjf</em>
        </div>
        <br />
        <hr />
        <code class="status"></code>
    </body>
</html>