And*_*iBM 5 jquery insert closest
我在列表中有以下标记(重复相同的列表格式):
<li class="item">
<div class="outer">
<p>Some text</p>
<div class="inner">Some div text</div>
</div>
<a class="link" href="#">Link</a>
</li>
Run Code Online (Sandbox Code Playgroud)
我希望将a.link移动到每个列表项中的p和div.inner之间.
我使用以下脚本:
$("li.item a.link").each(function() {
$(this).closest("div.inner").before(this);
});
Run Code Online (Sandbox Code Playgroud)
但我只是得到错误:"$(this).closest不是函数"
为什么.closest()不起作用...似乎经常被推荐.有没有不同的方法来实现这一目标?
非常感谢.
试试 -
$("li.item a.link").each(function() {
$(this).closest('li').find(".inner").before(this);
});
Run Code Online (Sandbox Code Playgroud)
如果closest不适合你,这也会有效-
$("li.item a.link").each(function() {
$(this).parent('li').find(".inner").before(this);
});
Run Code Online (Sandbox Code Playgroud)
演示 - http://jsfiddle.net/MkD8j/2/
这两个工作都是通过找到最接近的父'li'元素,然后搜索'inner'div元素.您原始代码使用closest查找父元素的函数搜索'div.inner' 元素,'div.inner'元素是链接的兄弟,因此它没有找到任何东西.
| 归档时间: |
|
| 查看次数: |
2852 次 |
| 最近记录: |