我有以下html:
<span class="addEventHidden"><img src="/Content/Images/add.gif"></span>
<br>
<div class="event">My Event</div>
<div class="event">My Event 2</div>
<div class="event">My Event 3</div>
<div class="event">My Event 4</div>
当我点击任何“event”div时,我有以下事件处理程序:
$('.event').live('click', function () {
我现在想要从这个事件处理程序中使用class =“addEventHidden”来获取对象的引用。我试过这个:
var previousAddEvent = $(this).prev(".addEventHidden");
但这似乎不起作用。有什么建议吗?
答案 0 :(得分:4)
使用.prevAll()
和:first
,如下所示:
var previousAddEvent = $(this).prevAll(".addEventHidden:first");
.prev("selector")
立即获取 以前的兄弟如果与选择器匹配,它会看起来直到找到匹配。 .prevAll()
将以预期的顺序(反向)获得所有先前的兄弟,所以我们只想要匹配我们的选择器的第一个。
答案 1 :(得分:0)
不知道关于你的HTML的更多信息,我将假设你已经将这个和其他类似的对象容器化了。如果你有,一个答案是
var previousAddEvent = $('.addEventHidden', $(this).parent());