如何使用包含元素

时间:2017-04-05 17:47:57

标签: javascript jquery html

请原谅我,如果我没有在正确的位置搜索,但是,我一直在互联网上搜索如何创建一个jquery对象,但我找不到符合我需要的解决方案

这个对象中必须有大量的html,因为我打算将对象附加到另一个元素。

示例我发现: 将元素的内部Html添加到字符串,并将其添加到jquery对象:

var htmlText = "<div id='foo1'><a class='foo2'><h1 class='foo3'></h1></a></div>"
var $jqueryObject = $("<div>", {
                class: "bar",
                html: htmlText
        });

然而,当附加时,这似乎有一个奇怪的效果:当追加时,网页上剩下的唯一html是jquery对象的内容。因此,在此示例中,仅保留<div id='foo1'><a class='foo2'><h1 class='foo3'></h1></a></div>(但html,头部标记仍然存在)

非常感谢帮助...

提前致谢!

编辑:

然后我将这个对象附加到一个这样的元素:

        $("#foobar").click(function() {
            $("#objectContainer").append($jqueryObject);

        });

3 个答案:

答案 0 :(得分:0)

这样的东西?

&#13;
&#13;
var seconds = 5;
function myFunction() {
    //Do something
}
setInterval(myFunction, seconds * 1000);
&#13;
var htmlText = "<div id='foo1'><a class='foo2'><h1 class='foo3'>Test</h1></a></div>";


var $jqueryObject = $("div").append(htmlText).find('.foo3').css("color","red");
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以在追加之前编辑缓存中的html对象,如下所示:

$(jqueryObject).find('#foo1').css('background-color', 'grey')

https://jsbin.com/vuzosapedu/edit?html,js,output

答案 2 :(得分:0)

每次点击按钮时,可能都会将您的页面提交给服务器。

尝试

   $("#foobar").click(function(e) {
        e.preventDefault();
        $("#objectContainer").append($jqueryObject);

    });