[英]finding an element in DOM which is just before the clicked element using jquery
我需要做这样的事情:
<ul><li>something</li></ul>
<div class='elm'>click me</div> <!-- no 1 -->
<ul><li>something</li></ul>
<div class='elm'>click me</div> <!-- no 2 -->
<ul><li>something</li></ul>
<div class='elm'>click me</div> <!-- no 3 -->
<ul><li>something</li></ul>
<div class='elm'>click me</div> <!-- no 4 -->
<ul><li>something</li></ul>
<div class='elm'>click me</div> <!-- no 5 -->
然后使用jQuery
$(".elm").click(function(){
//some selector which returns the ul element which is just before this div element.
});
我需要选择被单击的div元素之前的ul元素。
例如,如果用户单击div(#4),则它应返回div(#4)之前的ul元素。
像这样:
$("div.elm").click(function() {
// Get the previous element IF it's a UL (nothing otherwise)
var previous = $(this).prev("ul");
});
见prev
的文档。
如果你想回扫描到最近的前一个兄弟ul
,跳过中间不属于任何元素ul
S,你会怎么做:
$("div.elm").click(function() {
// Find a previous UL sibling, if any
var previous = $(this).prevAll("ul:first");
});
如果给元素一个类而不是一个ID使其起作用,则可以使用prev
:
$(".elm").click(function(){
var prev = $(this).prev();
});
注意: ID必须是唯一的 。 如果将相同的ID分配给多个元素,则大多数操作仅在具有该ID的第一个元素上执行。
您那里有一个巨大的错误(如果您不相信我,请使用验证器:)))...您有多个具有相同ID的div,并为其添加了计数器或其他功能。 另外,如果添加计数器,则可以毫无问题地选择它。
函数选择(ID)
{
var x = document.getElementById('elm'+ id);
}
无论如何...如果您想在没有计数器的情况下使用onclick =“ select(this.index)”之类的东西
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.