使用jQuery选择类的下一个实例
Select by next instance of class with jQuery
我希望转换一个函数,按id选择给定类的下一个实例。
代码如下:
function swap3(oldDivId, newDivId) {
var oldDiv = document.getElementById(oldDivId);
var newDiv = document.getElementById(newDivId);
oldDiv.style.display = "none";
newDiv.style.display = "block";
}
假设你有这样的HTML:
<div id="test"></div>
<img>
<br>
<div></div>
<input>
<div class="abc">Found it</div>
<div class="cdf"></div>
更新于2021年
原来的答案现在已经很老了。由于原始问题有jQuery标记,因此答案保持有效和可用。但是,对于那些希望看到不依赖于jQuery的更新JavaScript代码的人来说,看看querySelector
现在是如何令人敬畏的:
const next = document.querySelector('#test ~ .abc')
next.textContent = 'Yeah, you found it!'
因此,秘诀是使用匹配第二个元素的所有迭代的通用兄弟组合子,但使用只返回第一个匹配的querySelector。
原始回答
通过id
选择第一个div
:
var some = $("#test");
然后您想要找到abc
类的下一个div
:
var next = some.nextAll("div.abc");
假设您想要一个变量作为className
:
var x = "abc";
var next = some.nextAll("div." + x);
如果我理解你的问题:
function nextItem(className) {
return $('#ID').closest('.' + className);
}
using close: http://api.jquery.com/closest/
根据jQuery中的ID选择:
$('#class_name')
在jQuery中按类选择:
$('.class_name')
获取jQuery中的下一个项目:
$('.class_name').next('.class_name')
使用这个,你可以像
这样做// Something to remember the current element
var currentElement = false;
function getNext(className)
{
// First time, there will be no current element
if (!currentElement)
{
currentElement = $('.' + className);
return currentElement;
}
// Other times...
currentElement = $(currentElement).next('.' + className);
return currentElement;
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- AngularJS&JSON-从Previous&下一个对象
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 来自文档或下一个静态父级的事件委派
- 同一项怎么可能在一个实例中未定义,却在另一个实例上定义
- angularjs移除焦点上的活动类并添加到下一个项目
- jquery获取类的下一个实例的值
- 查找给定工作日的下一个实例(即.星期一)与时刻.js
- 当滑块有多个实例时调用下一个上一个 iDangero.us
- 只获取整个文档中的下一个实例
- 使用jQuery查找元素的下一个实例,而不考虑关系
- 在类的下一个实例中显示ajax响应
- 通过多个实例点击图像库(上一个/下一个)
- 获取Javascript中指定日期/时间的下一个实例
- 使用jQuery选择类的下一个实例
- HTML5音频播放器-自动播放下一个类实例
- 获取特定元素的下一个实例