在H3内找到href

时间:2013-07-02 11:50:20

标签: jquery

我无法弄清楚我在下面的代码中做错了什么。我尝试了几乎所有我能在这个论坛上找到的东西都没有成功。我试图在H3标签内获得“a href”的值。

HTML

<div class="product" style="opacity: 1;">
   <a title="product" href="url-to-product.com">..................</a>
   <h3><a href="url-to-product.com">Blabla</a></h3>
</div>
<div class="product" style="opacity: 1;">
   <a title="product" href="other-url-to-product.com">..................</a>
   <h3><a href="other-url-to-product.com">Blabla</a></h3>
</div>

我需要从h3标记内的href获取值,并使其成为在getJSON函数中使用的变量。我尝试过最亲近的兄弟姐妹和:

 $( ".opener" ).live("click", function(event) {
      event.preventDefault();
      $.get($(this).attr('href'), function(data, status) {
        $( "#dialog" ).dialog( "open" );

        **var url = $('.product h3 > a').attr('href')+'?format=json';**

        $.getJSON(url, function(data) {           

我总是遇到“未定义”错误。我看不出我做错了什么。

4 个答案:

答案 0 :(得分:1)

为什么不使用:

$('h3 a').attr('href')

有很多方法可以解决这个问题,这取决于你的要求。

答案 1 :(得分:0)

你应该这样做:

 $('.product').find('h3 > a').attr('href')

答案 2 :(得分:0)

你的目标是h3元素并尝试获取其'href'属性。你想要做的是在-element中定位-element并获得它的'href'属性。

$(this).find("h3").children('a').attr('href');

答案 3 :(得分:0)

试试这样:

$('.product h3 > a').attr('href')

$(".product").each(function(){
    var a_href = $(this).find('h3 > a').attr('href');
    alert ("Href is: "+a_href);
});

FIDDLE