0

我使用了 jQuerys $("...").append(),发现它比我想象的要先进。例如,以下示例

<html>
<head>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script>
jQuery(function($) {
    $("body").append("<div>");
});
</script>
</head>
<body>
</body>
</html>

输出

<body>
    <div></div>
</body>

. 如您所见,jQuery 自己添加了结束标记。就我而言,我只想附加开始标签,因为我想填充这个元素 peu à peu。
例如

jQuery(function($) {
    $("body").append("<div>");
    if(...){
        $("body").append("true");
    }else{
        $("body").append("false");
    }        
});

输出

<body>
    <div></div>
    true
</body>

代替

<body>
    <div>true
</body>
4

2 回答 2

1

追加到正文后如何追加到 div ?

jQuery(function($) {
    $("body").append("<div>");
    if(...){
        $("body div").append("true");
    }else{
        $("body div").append("false");
    }        
});
于 2012-08-21T08:38:56.897 回答
1

您不能只附加一个开始标签,因为它不会转换为实际的 DOM 元素。这只是 DOM 元素的一部分,不能转换为 DOM 元素。

如果您要创建的是这样的:

<body>
    <div>true
</body>

那不是有效的 HTML。它必须是有效的:

<body>
    <div>true</div>
</body>

你可以像这样解决你的问题:

jQuery(function($) {
    var myDiv = $("<div>");    // create DOM element
    if(...){
        myDiv.html("true");    // set contents of DOM element
    }else{
        myDiv.html("false");
    }        
    $(document.body).append(myDiv);   // append DOM element to the page
});

工作示例:http: //jsfiddle.net/jfriend00/eSncS/

于 2012-08-21T08:42:46.580 回答