日期:2014-05-16  浏览次数:20354 次

jquery find看来用不了了,如何实现,高手指点
ul类似如下
<ul id="myUL">
<li class="abc">1</li>
<li class="abc">1</li>
<li class="abc">1</li>
<li class="abc">1</li>
<li class="abc">1</li>
<li class="abc">1</li>
</ul>



var mainTag = $("#myUL")//ul id
var content = $(mainTag).find("li").slice(0,3);//捷取前三个
console.log(content);//[li,li,li]//正确

现有需要对mainTag清空,把内容转存,改为这样

var backupTag = mainTag.html();//console值为[li,li,li,li......]
$(backupTag).find("li").slice(0,3);//[]
没错误,输出[ ]空

如何处理呢,find好像只查找子元素,但这是字符串虽然转为了对象但里面没要求的子元素

jquery若不能用了,用js该如何捷取前三个li好呢

------解决方案--------------------
find是找dom节点,又不是找string

原生js用getElementsByTagName来做


lis = document.getElementById('myUL').getElementsByTagName;
li1 = lis[0];
li2 = lis[1];
li3 = lis[2];


前三个。
------解决方案--------------------
lis = document.getElementById('myUL').getElementsByTagName('li');


------解决方案--------------------
JScript code
var backupTag = '\
<li class="abc">1</li>\
<li class="abc">2</li>\
<li class="abc">3</li>\
<li class="abc">4</li>\
<li class="abc">5</li>\
<li class="abc">6</li>\
';
backupTag = $(backupTag);
$(document).ready( function() {
    $("#myUL").html('').append(backupTag.slice(0, 3));
    
    //测试:3秒后切换到"第二页"
    window.setTimeout('$("#myUL").html("").append(backupTag.slice(3, 6));', 3000);
});