我想从$ el.html中选择特定的子元素,有两种类型的子元素,一种是<span>....</span>
,另一种是span类<span class = "special">..</span>
,例如:
var orig = $(".example").html()
,$el = $(".example")
,text = $.trim($el.text())
,words = text.split(" ")
,html = "";
for (var i = 0; i < words.length; i++) {
if (words[i] === "senior")
html += "<span class='special'>" + words[i] + ((i+1) === words.length ? "" : " ") + "</span>";
else
html += "<span>" + words[i] + ((i+1) === words.length ? "" : " ") + "</span>";
};
$el.html(html).children().hide().each(function(i){
// if $('span.special')
$(this).delay(i*200).fadeIn(700);
// else (normal span)
$(this).delay(i*600).fadeIn(900);
}).promise().done(function(){
$('.example:first').html(orig)
})
如何在“每次”调用中区分有和没有课程的跨度?
工作演示在这里:http://jsfiddle.net/6czap/15/
答案 0 :(得分:3)
我相信你正在寻找.hasClass
:
$el.html(html).children().hide().each(function(i){
if($(this).hasClass('special'))
$(this).delay(i*200).fadeIn(700);
else
$(this).delay(i*600).fadeIn(900);
}).promise().done(function(){
$('.example:first').html(orig)
});
但是,如果您只想淡入.special
元素,请使用
$el.html(html).children('.special').hide().each(function(i){
if($(this).hasClass('special'))
$(this).delay(i*200).fadeIn(700);
}).promise().done(function(){
$('.example:first').html(orig)
});