Javascript 如何使用jQuery获取div onclick属性中的字符串?
我有一个横幅是这样的:Javascript 如何使用jQuery获取div onclick属性中的字符串?,javascript,jquery,html,attr,Javascript,Jquery,Html,Attr,我有一个横幅是这样的: <ul id="carousel"> <li id="item1"> <div onclick="window.open('mylinkhere.com,'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%"> </div> </li> <li id="item2"&
<ul id="carousel">
<li id="item1">
<div onclick="window.open('mylinkhere.com,'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
<li id="item2">
<div onclick="window.open('myotherlinkhere.com,'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
</ul>
<ul id="carousel">
<li id="item1">
<div data-url="mylinkhere.com" onclick="window.open($(this).data('url'),'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
<li id="item2">
<div data-url="myotherlinkhere.com" onclick="window.open($(this).data('url'),'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
</ul>
但我不能。顺便说一句,我从一开始就不知道哪个项目会在旋转木马中,因为它是由另一个函数随机化的。因此,我无法使用item1 item2 ect访问它们
谢谢。您可以在数据属性中设置url,并像这样轻松阅读:
<ul id="carousel">
<li id="item1">
<div onclick="window.open('mylinkhere.com,'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
<li id="item2">
<div onclick="window.open('myotherlinkhere.com,'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
</ul>
<ul id="carousel">
<li id="item1">
<div data-url="mylinkhere.com" onclick="window.open($(this).data('url'),'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
<li id="item2">
<div data-url="myotherlinkhere.com" onclick="window.open($(this).data('url'),'_blank')" style="cursor:pointer;margin-left:-436px;width:996px;height:100%">
</div>
</li>
</ul>
看这把小提琴:
对我来说,以下代码按预期工作(Chrome 44,jQuery 2.1.3):
可能的问题是,在您的代码中,您没有将元素包装成$(…),因此.attr()不是有效的函数,因为在jQuery对象上使用索引器会返回原始HTML元素。而不是在div上使用
onclick
,您可以使用
将其包装,并获得
的href
属性。
var s = jQuery('#carousel li div');
s.each(function(i,node) {
alert(jQuery(node).attr('onclick'));
});