Javascript生成新的XHTML内容无法正常工作

时间:2014-01-08 10:52:28

标签: javascript html jsf primefaces xhtml

我这几天一直在摸不着头脑,我在网上找不到任何解决方案,甚至找不到教授。

我正在开发一个系统,要求某些页面能够在运行时动态生成新的HTML内容(在glassfish4服务器上运行的JSF Web项目) 我已经找到了一些有关如何执行此操作的资源,但它仅在标准HTML页面上运行时才有效。当我将其转换为XHTML标准时,该函数不再生成任何内容(尽管它仍然被调用,警告框确认了这一点)。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html   xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ISO-8859-1"></meta>
<title>Insert title here</title>
</head>
<body>
    <SCRIPT type="text/javascript">
        function addQuestion() {
            alert('yay');
            var exam = document.getElementById('divarea');
            var temp = document.createElementNS('h', 'button');
            temp.setAttribute('value', 'child');
            exam.appendChild(temp);
        }
    </SCRIPT>
    <div id="divarea">
    </div>
    <h:commandButton value="create new stuff" onclick="addQuestion()"/>
</body>
</html>

如果有人能够对这个问题有所了解,我们将不胜感激。

P.S。 以下是我用于尝试排除故障的资源。

Converting javascript to work with XHTML

Creating elements dynamically using javascript

1 个答案:

答案 0 :(得分:0)

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html   xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html">
        <head>
        <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ISO-8859-1"></meta>
        <title>Insert title here</title>
        </head>
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <body>
            <SCRIPT type="text/javascript">
                function addQuestion() {


                    var oldcon=$("#divarea").html();
                    var newcon='<button>child</button>';
                    var updcon=oldcon+newcon
                    console.log(newcon);
                    $("#divarea").html(updcon);
                }
            </SCRIPT>
            <div id="divarea">
            </div>
            <button onclick="addQuestion()"/>dff</button>
        </body>
        </html>