我在html中有这个:
<ul class="ei-slider-arrows">
<li id="arrowLeft" ><img src='images/close.png'/></li>
<li id="arrowRight" ><img src='images/close.png'/></li>
</ul>
我正在尝试在我的两个“箭头”上添加一个点击功能,但我无法选择它们。我试过这个:
this.$arrows = this.$el.find('ul.ei-slider-arrows');
this.$arrowLR = this.$arrows.children('li');
this.$arrowRight = this.$arrowLR.getElementById("arrowRight");
我可以在this.$arrowLR
上添加一项功能,但我无法选择arrowRight
。
我尝试使用getElementById
,但我也尝试使用get(0)
和get(1)
。
任何人都知道它为什么不起作用?
如果我console.log(this.$arrowRight)
,则只会在控制台中显示[]
两种情况(get()
和getElementById("arrowRight")
)。
答案 0 :(得分:2)
如果您想通过ID获取它们,请使用以下代码段:
var arrowsBoth = $('#arrowLeft, #arrowRight');
或者如果您想单独访问它们:
var arrowLeft = $('#arrowLeft');
var arrowRight = $('#arrowLeft');
你也可以像这样得到它们(同样,这可能会返回比预期更多的元素):
var arrows = $('ul.ei-slider-arrows li');
答案 1 :(得分:2)
只需按ID选择元素并将事件处理程序绑定到它
使用jQuery
$('#arrowLeft').click(function(){
})
$('#arrowRight').click(function(){
})
答案 2 :(得分:0)
我会去:
$("#leftArrow").click(hazaa());
$("#rightArrow").click(hazaa());
function hazaa(){ }
如果您想要执行稍微不同的事情,也可以传递参数,具体取决于点击的箭头。
$("#leftArrow").click(hazaa("left"));
$("#rightArrow").click(hazaa("right"));
function hazaa(direction){ alert(direction); }
答案 3 :(得分:0)
$("#arrowRight")
和$("#arrowLeft")
应该可以获得左右箭头。然后,您可以使用on()
,delegate()
或click()
来分配处理程序。您也可以document.getElementById("arrowLeft")
或document.getElementById("arrowRight")
进行相同的选择。上面的一个问题是在this.$arrowLR.getElementById("arrowRight");
中你试图在包含dom元素列表的jquery对象上使用javascript函数。