Javascript 使用jQuery选择字符串中的标记

Javascript 使用jQuery选择字符串中的标记,javascript,jquery,html,ajax,animation,Javascript,Jquery,Html,Ajax,Animation,我的网站通过ajax调用获得了一个值。之后,我想将结果插入一个字符串到标记中。但是,我想以一种方式插入该结果,1它必须具有不透明度=0,然后2它将向下滑动,以便使用动画向下推整个内容列表,最后3更改不透明度=1。想象一下,这就像一个Facebook消息列表插入过程 我计划这样做的方式是首先将结果字符串从ajax返回到opacity=0。但是,我不知道如何使用jQuery从字符串中选择标记。我知道jQuery只从DOM中选择。那么如何做到这一点呢?有什么建议吗 谢天谢地,Hide是一个jquery

我的网站通过ajax调用获得了一个值。之后,我想将结果插入一个字符串到标记中。但是,我想以一种方式插入该结果,1它必须具有不透明度=0,然后2它将向下滑动,以便使用动画向下推整个内容列表,最后3更改不透明度=1。想象一下,这就像一个Facebook消息列表插入过程

我计划这样做的方式是首先将结果字符串从ajax返回到opacity=0。但是,我不知道如何使用jQuery从字符串中选择标记。我知道jQuery只从DOM中选择。那么如何做到这一点呢?有什么建议吗


谢天谢地,Hide是一个jquery函数,这意味着它只能在jquery对象上工作,因此必须首先将html注入DOM,然后在DOM元素上调用Hide

$('#msgList').load (url,data,function(html){
var $this = $(this); // cache $(this) for performance
$this.hide().html(html); // inject the html in the DOM
$('#aa', $this).hide(); // hide #aa
$this.show(); // reveal the messageList
});

下面将使用simple.get包装器进行ajax调用

然后回调函数将响应加载到jquery对象中,并找到所需的标记

然后隐藏该标记并将其附加到div容器

最后它会滑下来

//do ajax call
$.get( url, function(html) {

    //load html into a jQuery object, find the tag by id then hide it
    var $el = $(html).filter('#someId').hide();
    //append element to the dom and slide it down
    $el.appendTo('#someDiv').slideDown('slow');   

});

我会考虑把回报值放在一个跨度内。隐藏将容纳它的容器。将跨度的不透明度设置为0,然后将结果添加到其中并将其放入容器中。完成后,向下滑动容器,并在调用slideDown方法时显示结果

$.ajax({
   ...
   success: function(data) {
         var container = $('#container').hide();
         $('<span />').css( 'opacity', 0 )
                      .html(data.result)
                      .appendTo(container);
         container.slideDown('normal', function() {
                       $(this).( 'span:first' )
                              .animate( { 'opacity': 1.0 } );
                   });
   }
   ...
});

请发布你的html代码片段好的,让我们做这个实验。返回变量是str=string。假设返回值低于var str=aabb;现在我想从str中隐藏aa,但它不起作用:$str.find'aa.hide;msgList.htmlstr+原始HTML;msgList中的结果仍然显示了我的答案。您需要.filter not.find如果您的响应没有包含元素,我正在尝试不更改DOM结构,因为有其他javascript函数正在处理此结构,并且需要确保它与return相同。我尝试了此操作,并且当return var str=aabb时aa不会隐藏$str.find'aa'。隐藏;msgList.htmlstr+原始HTML;在这种情况下,它将是.filter not.find。我不使用函数加载,但我使用ajax函数,不确定上面的$this是什么意思。我试过了,但var str=aabb不起作用$str.find'aa'。隐藏;msgList.htmlstr+原始HTML$这只是对容器的缓存引用。此后,我遍历DOM以到达其父$this.parent,接下来的任何操作都将指向容器的父级,而不是容器本身。这个美元可以解决这个问题。