使用带有变量的jQuery InsertBefore

时间:2014-02-02 00:14:59

标签: jquery

让我们说有一个

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

这不起作用。我做错了什么?

谢谢!

2 个答案:

答案 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');