我无法弄清楚我在下面的代码中做错了什么。我尝试了几乎所有我能在这个论坛上找到的东西都没有成功。我试图在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) {
我总是遇到“未定义”错误。我看不出我做错了什么。
答案 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);
});