Jquery来自孩子们

时间:2014-01-30 08:57:28

标签: jquery

我正在尝试使用jquery从子类中获取URL。

<div class="div1">
   <h1 class="class2">
     <a href ="www.helloword.com/id2">hello user2</a>
    </h1>
</div>

基本上我想使用jquery获取网址,然后在有人点击div1时将其分配给div1,它会将您带到同一页面,就像点击hello user2一样

我试过

$(function() {
           $(".div1").click(function(e) {
            e.preventDefault();
            var url = $(this).children('.class2 a').find(".div1").attr('href'); 
             console.log(url); 
    });

    });

但是这会以undefined的形式出现在Chrome上。

我做错了什么

5 个答案:

答案 0 :(得分:3)

您可以尝试:

$(function() {
  $('.div1').click(function(e) {
    var url = $(this).find('.class2 a').attr('href'); 
    console.log(url); 
  });
});

答案 1 :(得分:2)

不需要使用children(),只有find()可以工作:

$(function() {
           $(".div1").click(function(e) {
            e.preventDefault();
            var url = $(this).find('.class2 a').attr('href'); 
             console.log(url); 
    });

});

答案 2 :(得分:0)

你添加了一个额外的调用来查找(“。div1”),它应该是

var url = $(this).children('.class2 a').attr('href');

答案 3 :(得分:0)

您无需在div1标记中找到a。另外,event.preventDefault()不需要div,因为没有与之关联的默认操作。

var url = $(this).children('.class2 a').attr('href');
console.log(url);

答案 4 :(得分:0)

$(function() {
  $('.div1').click(function(e) {
    var url = $(this).find('.class2 a').attr('href');
    $(this).append('<p>'+url+'</p>'); 
  });
});

基本上,如果你想在div中显示它。或类似的东西,但你想要显示它。