Javascript 返回并从HTML字符串中删除元素

Javascript 返回并从HTML字符串中删除元素,javascript,jquery,html,Javascript,Jquery,Html,我将HTML传递回一个ajax调用。在HTML中,我想去掉一个元素并将其HTML存储在一个变量中。我试过: request.success(function(results){ var timer = $(results).find('#timer').html(); // returns undefined var timer = $('#timer', results); // returns element but not content resu

我将HTML传递回一个ajax调用。在HTML中,我想去掉一个元素并将其HTML存储在一个变量中。我试过:

request.success(function(results){
    var timer = $(results).find('#timer').html();   // returns undefined

    var timer = $('#timer', results);       // returns element but not content
    results = $(results).remove('#timer');  // doesn't remove element
    console.log(timer);
});
我需要在元素本身上运行正则表达式搜索吗?这可能会扩大

如果我将我的HTML(结果)记录在控制台中,我会得到:

e.fn.init[11]
    0: div#timer
    1: text
    2: comment
    3: text
    4: div.pagination.top
    5: text
    6: comment
    7: text
    8: div#postContainer
    9: text
    10: comment
    length: 11
    __proto__: Object[0]
编辑

结果
似乎是
DOM
元素,而不是jquery对象,
索引
0
开始。根据控制台返回的内容,应能够根据其各自的索引访问任何
结果
项,例如
$(结果)。get(4)
应返回
div.pagination.top

获取计时器
html

   var timer = $(results).get(0);
   timerContents = timer.innerHTML;
结果中删除
#计时器

   var result = $.makeArray( results ); 
   result.splice(0, 1);

$(results).find(“#timer”).html()
应该可以工作。你确定HTML中有计时器,而且里面只有一个,并且有一些内容吗?100%-如果我
$(“#content').HTML(results)
,它会显示在那里。这不一定是通用的-它确实有效,但也可以。你能旋转它来为任何元素工作吗?此外,我还需要将其从
结果中删除。@SparoHawk如果我将
innerHTML
更改为
.html()
我会得到错误
未捕获的类型错误:Object#没有方法“html”
@Howdy\u McGee可能需要将
计时器
移动到
索引>0
才能成为
孩子
@guest271314您是对的,我忘了jQuery的
.get()
返回DOM对象而不是jQuery对象。我会将代码从
get()
改为
eq()
,然后:
var timer=$(results).eq(0).html()
。这很有效,谢谢您的帮助。我觉得真正的问题是,find/html之所以不起作用,是因为,正如您所说,它需要是某个东西的孩子。我把它放在post容器中,可以很好地使用find/html/remove函数。