jQuery 按类选择下一个同级,其中一个类包含多个类
jQuery select next sibling by class with one class that contains multiple classes
好吧,这听起来很复杂,但有点简单,但是经过2个小时的谷歌搜索后,我放弃了。如果有人可以帮忙,我会很棒
<ul class="products">
<li class="post-93 product type-product status-publish hentry first instock"></li>
<li class="post-87 product type-product status-publish hentry instock"></li>
<li class="post-85 product type-product status-publish hentry last instock"></li>
<li class="post-78 product type-product status-publish hentry first instock"></li>
</ul>
这是我到目前为止的jquery。
$('.products > li').click(function(e){
e.preventDefault();
$(this).next(".last").insertAfter( /* a piece of html will go here */));
})
该列表是由Wordpress动态生成的,与其尝试自己破解代码,我宁愿只操作屏幕上的内容。
最终结果是使用一种下拉样式框显示产品,就像在Google图片搜索中一样。第一个和最后一个类被添加到由短代码 [product_sku=99 列=3 行=3] 动态设置的 li 项中,其中列 = 从左到右。
TL;DR 使用 .next() 在具有多个类的元素中选择一个类。默认情况下,.next() 将不起作用,除非您列出该元素中的每个类(据我所知)。
考虑到这一点,我可能还需要在搜索之前检查当前元素是否不包含该类。反正有人有什么想法吗?我认为这很简单,但我无法弄清楚。
编辑:试图澄清TLDR声明。
在所有评论之后,我认为这可能是你所追求的。每当您单击li时,它将在.last
之后插入一个新li
。
$('.products').on('click', 'li', function(e) {
// get any data from clicked li by using $(this)
// only look for product li
$('li.last.product').after('<li>yo</li>');
});
http://jsbin.com/eXAfArA/1/edit
相关文章:
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- 在Knockout js中创建一个包含多行的表,而不需要推送
- AJAX数据包含一个或多个单词.
- 如果值包含数组中的一个或多个
- 一个表单包含多个提交操作
- 在一个网站上包含多个声音文件
- 使用requirejs加载一个包含多个类的文件(grunt-concat)
- 一个动画javascript中包含多个图像
- (反应)如何在另一个组件中包含多个组件
- 你能在 Restangular 中构建一个包含多个变量的 URL 吗?
- 创建一个包含多个 HTML 元素属性的嵌套数组
- 我可以使用Jquery closest()创建一个包含多个元素的选择器吗
- 加入一个包含多个空格的数组可以消除Chrome中的重复空格
- 在backbone.js中删除一个包含多个视图且没有内存泄漏的页面
- 制作一个包含多个音乐播放列表选项的数组
- 是否可以编写一个包含多个模块的JavaScript文件
- 如何停止一个包含多个timeOut动画的timeOut动画
- 如何使用javascript for循环创建一个包含多行的表
- HTML和如何显示一个包含多个文本字段的DIV
- 使用NG-repeat创建一个包含多个单选按钮的表单:希望重置所有单选按钮的值