Firefox 的 JQuery 问题:$('#element_id').html() 不起作用

发布于 2024-10-14 18:21:59 字数 328 浏览 1 评论 0原文

hellow world

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

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

编辑 目前还没有弄清楚问题所在,但是一旦找到问题我就会发布结论!感谢您的回复。

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

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

returns the "hello world" sometimes, but not always. val() always works, but not html() This only happens in firefox (always works in Chrome). Any ideas?

EDIT
Still haven't figured out the problem yet, but I will post the conclusion once I have found it! Thanks for the responses.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

万劫不复 2024-10-21 18:21:59

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

PS 当你说它有时工作有时不工作时,div 的内容是否有一些变化?

I think this previous question might help you.

P.S. When you say it is sometime working and sometime not working, are there some changes going on the div's content ?

﹏半生如梦愿梦如真 2024-10-21 18:21:59

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

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

setTimeout('sayHello()', 500);

看看它是否太早获取内容?

You could try wrapping it into a timeout...

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

setTimeout('sayHello()', 500);

See if it's getting the content far too early?

ま柒月 2024-10-21 18:21:59

这使用 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 标签包围的文本。

This worked using jQuery 1.4.4. I haven`t tested with other versions.

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

Remembering that .text will return only the text inside the div and .html will return the text surrounded by the html tags.

你与清晨阳光 2024-10-21 18:21:59

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

<!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>

The complete unaltered code for you to try:

<!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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文