Javascript Jquery-Can';t从AJAx响应中删除()

Javascript Jquery-Can';t从AJAx响应中删除(),javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我目前正试图从通过$.get()获取的xhtml文件中删除CSS标记和JS标记 但正如你在附件中看到的,它似乎不起作用。temp变量似乎没有变化,尽管temp.filter('link').remove()应该得到正确的标记。是我的代码不起作用,还是我没有以正确的方式解释firebug输出 我试着实现了这里提到的: 我的代码如下: $.get("../BaseApplication/user/userList.xhtml", function(data) { var temp = $(d

我目前正试图从通过
$.get()获取的xhtml文件中删除CSS标记
和JS标记
但正如你在附件中看到的,它似乎不起作用。temp变量似乎没有变化,尽管
temp.filter('link').remove()
应该得到正确的标记。是我的代码不起作用,还是我没有以正确的方式解释firebug输出

我试着实现了这里提到的:

我的代码如下:

$.get("../BaseApplication/user/userList.xhtml", function(data) {
    var temp = $(data);
    console.log(temp);
    console.log(temp.filter('link').remove());
    console.log(temp);
});

我以前的回答不正确。我已经看过了,但找不到解释为什么会发生这种情况的文档。但是,这将起作用:

var temp = $('<div>').append($(test)).find('link').remove().end().unwrap();
$('body').append(temp);
var temp=$('').append($(test)).find('link').remove().end().unwrap();
$('body')。追加(临时);
基本上,这会将html附加到一个div中,搜索该div中的链接元素,将它们删除,然后返回到div元素,将div包装从剩余的html中剥离,然后附加修改后的结果


老实说,我找不到任何东西来解释这种行为,但事实就是如此。我希望它能帮上忙。

刚刚发布了这篇文章,因为我找到了一个适合我的解决方案:

$.get("../BaseApplication/user/userList.xhtml", function(data) {
  var temp = $(data);
  temp = temp.not('link').not('script'));
  $('#mainContent').html(temp);
});

这将从AJAX响应中删除所有
标记,并替换

temp.filter('link')中的所有内容。remove()
返回筛选的元素,但不修改原始集合
temp
我想删除所有
元素,就像
一样,它应该仍然是
临时过滤器('link')。remove()
不是吗?你是说
.filter()
不能与
一起工作。remove()
?在这种情况下,他们使用的是
temp.find('tag').remove()
,这似乎对他们有效
.find()
不适合我使用
,因为生成的数组是空的。但是
find('script')
提供了一个包含所有
-标记的数组,但不幸的是,它仍然不能与
.remove()
一起使用。那么它们的例子错了吗?那篇文章使用了
。find()
不是
。filter()
,我将使用example@TobiasDelp事实上,我以前不知道为什么会这样,请看我的编辑谢谢你的努力。我刚刚为我的问题找到了另一个解决方案:
temp=temp.not('script')。not('link')返回不带
标记的对象。但是,把问题留着,也许有人会看到它,它可以更好地解释为什么你的第一次尝试不起作用。这个问题和答案究竟是怎么回事?他们都没有得到他们应得的选票?寻找这个,终于找到了它并解决了我的问题!很高兴它帮助了你:)