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