在XHTML中插入元素

时间:2014-12-14 16:46:16

标签: jquery html xhtml

我在XHTML中遇到了问题,我在HTML中测试了这段代码并进行了工作。

的index.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>jQuery Load</title>
        <!-- Libreria jQuery -->
        <script type='text/javascript' src="js/jquery-1.11.1.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $("#botton").click(function(event) {
                    $("#cap").load('test.xhtml #content');
                });
            });
        </script>
    </head>
    <body>
    <div id="cap">Click here...</div>
    <br/>
    <input id="botton" type="button" value="update" />
    </body>
</html>

test.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Content</title>
    </head>
    <body>
      <div id="content">Show content, YES.</div>
      <div id="hidden">I don't show</div>
    </body>
</html>

这个XHTML没有用。错误控制台:

未捕获的SyntaxError:无法设置&#39; innerHTML&#39;属性&#39;元素&#39;:提供的标记是无效的XML,因此无法插入到XML文档中。

HTML有效,但在XHTML中不起作用,右边是有效的XHTML插入元素吗?,谢谢大家。

2 个答案:

答案 0 :(得分:2)

我认为这可能是jQuery函数中的一个缺陷,但是当你从包含文件中删除DOCTYPE声明时它确实有效。

如果包含文件不打算显示为独立的XHTML文件,则此删除不会产生任何不利影响。
如果是,请注意,您不需要XHTML文件中的DOCTYPE声明,以使它们以标准模式显示; XHTML文件始终以标准模式显示。您获得的唯一兼容性问题是当您在文件中使用&nbsp;等命名实体引用时。

答案 1 :(得分:0)

可能是您的代码不符合xhtml标准。

请参阅http://www.w3schools.com/html/html_xhtml.asp

与HTML最重要的区别:

文件结构

  • XHTML DOCTYPE是强制性的
  • xmlns属性是必需的
  • html,head,title和body标签是必需的

XHTML元素

  • XHTML元素必须正确嵌套
  • XHTML元素必须始终关闭
  • XHTML元素必须为小写
  • XHTML文档必须有一个根元素

XHTML属性

  • 属性名称必须为小写
  • 必须引用属性值
  • 禁止属性最小化