如何使用jQuery获取div onclick属性中的字符串?

时间:2015-08-26 11:53:33

标签: javascript jquery html attr

我有一个类似这样的横幅:

class Test123 {

    public static void main(String[] args) {
        printSinhala();
        printEnglish();

    }

    public static void printSinhala() {
        System.out.print("(sinhala");

    }

    public static void printEnglish() {
        System.out.print(" english)");

    }
}

我需要访问用onclick属性编写的链接,即<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>

我试过

mylinkhere.com

但我不能。顺便说一下,我从一开始就不知道哪个项目将在旋转木马中,因为它是由另一个函数随机化的。所以我无法使用item1 item2等访问它们。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以在数据属性中设置网址并轻松阅读:

var b_items = $(banners[0]).children().filter("div");
var link = $(b_items).data('url');

阅读:

linewidth

看到这个小提琴: http://jsfiddle.net/Pontual/pugytfwu/

答案 1 :(得分:0)

对我来说,以下代码按预期工作(Chrome 44,jQuery 2.1.3):

var s = jQuery('#carousel li div');
s.each(function(i,node) {
    alert(jQuery(node).attr('onclick'));
});

http://jsfiddle.net/aavf1450/

可能的问题是,在你的代码中,你没有将元素包装到$(...)中,所以.attr()不是一个有效的函数,因为在jQuery对象上使用索引器会返回原始的HTML元素。