相关疑难解决方法(0)

Firefox中的jQuery html()(使用.innerHTML)忽略DOM更改

我真的很惊讶我之前没遇到过这个问题,但似乎在元素上调用jQueries .html()函数会忽略DOM中的更改,即它会返回原始源中的HTML.IE不会这样做.jQueries .html()只是在内部使用innerHTML属性.

这是否意味着发生?我使用的是Firefox 3.5.2.我在下面有一个示例,无论您将文本框值更改为什么,"container"元素的innerHTML只返回HTML标记中定义的值.该示例不使用jQuery只是为了使它更简单(使用jQuery的结果是相同的).

有没有人有一个解决方法,我可以在当前状态下获取容器的html,即包括对DOM的任何脚本更改?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <script type="text/javascript">
            <!--
            function BodyLoad(){                
                document.getElementById("textbox").value = "initial UPDATE";
                DisplayTextBoxValue();
            }

            function DisplayTextBoxValue(){
                alert(document.getElementById("container").innerHTML);             
                return false;
            }
            //-->
        </script>
    </head>
    <body onload="BodyLoad();">
        <div id="container">
            <input type="text" id="textbox" value="initial" />
        </div>
        <input type="button" id="button" value="Test me" onclick="return DisplayTextBoxValue();" />
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

html firefox jquery dom innerhtml

21
推荐指数
2
解决办法
2万
查看次数

为什么innerHTML不反映在html表单中所做的更改

这是我的html文件的一部分:

<form id="foo">
   <select>
      <option value="1" selected>1</option>
      <option value="2">2</option>
   </select>
</form>
Run Code Online (Sandbox Code Playgroud)

现在,当我使用以下javascript代码时,它会为我提供表单的确切内容:

alert(getElementById("foo").innerHTML);
Run Code Online (Sandbox Code Playgroud)

但是,在我使用表单更改选项后,上面的代码仍然返回表单内容的先前版本.

例如,假设我将选项从"1"切换为"2".在这种情况下,我希望上面的javascript代码返回表单的内容,选择选项"2"; 但无论我如何更改表单,它总是返回表单内容的原始版本.

html javascript cross-browser

5
推荐指数
1
解决办法
1169
查看次数

setAttribute和htmlElement.attribute ='value'之间的区别

这两者之间有什么区别,

b1.setAttribute('id','b1');
Run Code Online (Sandbox Code Playgroud)

b1.id='b1';
Run Code Online (Sandbox Code Playgroud)

是其中一个比另一个更有效?并且他们两个会完成相同的任务吗?他们在某些情况下会有所不同吗?

javascript setattribute

2
推荐指数
1
解决办法
423
查看次数