我正在尝试使用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上。
我做错了什么
答案 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中显示它。或类似的东西,但你想要显示它。