如何获取jquery对象,然后操纵其中的dom元素

时间:2012-02-17 18:54:37

标签: jquery

好的,我知道jquery可以很简单地做到这一点,但是我在使用replaceWith,过滤器,HTML,文本,克隆等方面有点困惑!

这就是我正在做的事情。我正在使用jquery UI选项卡,每当我创建一个新选项卡时,我需要使用dom上另一个地方的html,但在我将它用于新选项卡之前稍微修改它。所以它看起来像这样:

_$chatTabs = $("#dvChatManager").tabs({
    selected: 0,
    tabTemplate: "<li><a href='#{href}'>#{label}</a> <span style=\"position:absolute;right:0px;\" class='ui-icon ui-icon-close'>Remove Tab</span></li>",
    add: function (event, ui){
        var html = $('.dvChatBoxWrapper', $('#dvChat-' + _activeGID)).clone();
        $(ui.panel).append(html);
        initTabs();
    }
});

因此,在“添加”部分,您可以看到我克隆了另一个div并将其附加到面板。但在我将其附加到面板之前,我需要清除变量html中的一些div并可能更改其他html内容。我对最好的方法感到有点困惑。此外,我对另一种在dom上使用其他div作为模板的方法持开放态度!

1 个答案:

答案 0 :(得分:1)

首先,我建议在jquery对象名称前加上一个$符号,这样就可以更容易地跟踪它们。 :)

您可以通过find()访问当前jquery对象中的元素,并根据需要对其进行操作:

var $html = $('.dvChatBoxWrapper', $('#dvChat-' + _activeGID)).clone();
$html.find('.someDiv').remove();
$html.find('.someOtherDiv').html('new content');
..etc..