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);
});