让我们说有一个
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li class="putbeforehere">Something Else</li>
</ul>
以下工作正常:
var test = "<li>Test</li>";
var test = $(test);
test.insertBefore('.putbeforehere');
工作正常。但是我需要在insertBefore。(/ p>)的()中使用一个变量
示例:
var here = $(something).find('.someclass').children('ul.list li.item');
所以我有一些通过AJAX返回的数据,将其称为“数据”。
var data = $(data);
data.insertBefore(here);
这不起作用。我做错了什么?
谢谢!
答案 0 :(得分:0)
根据jQuery's API,您可以放置一个jQuery元素来代替选择器。所以它应该有用。
证明:http://jsbin.com/AsAYoye/1/edit
要调试您的案例,请确保here
变量在执行时已定义 ,并且data
是您要插入的HTML的字符串。
答案 1 :(得分:0)
here
是一个空集,children
方法只选择 children 节点,使用find
方法:
var here = $(something).find('.someclass').find('ul.list li.item');
或者:
var here = $(something).find('.someclass')
.children('ul.list')
.children('li.item');