3

hrefタグの値とタグhashの値を取得したいa。私がする時

$(document.body).on('click',"a",function(event){ 
    console.log($(this));
}); 

次のようなオブジェクトが表示されます

[a.internalLink, context: a.internalLink, jquery: "1.10.2", constructor: function, init: function, selector: ""…]
    0: a.internalLink
        accessKey: ""
        attributes: NamedNodeMap
        ...
        hash: "#abc.1.2"
        ...
        href: "http://www.example.com/page.html#abc.1.2
        ...

しかし、 で値を取得しようとすると、うまくいきconsole.log($(this).href)ません (「未定義」と表示されます)。どうすれば入手できますか?

4

6 に答える 6

4

要素の特定の属性を参照したい場合はattr、jQuery の関数を使用できます。

$(document.body).on('click',"a",function(event){ 
    console.log( $(this).attr("href") );
});
于 2013-09-21T16:30:23.343 に答える
1

$( "a" )[0].hrefまたは$( "a" ).attr( "href" )

于 2013-09-21T16:29:37.590 に答える
1
$('body').on('click', 'a', function () { 
    console.log($(this).attr('href'));
});
于 2013-09-21T16:29:50.473 に答える
1
$(document.body).on('click',"a",function(event){ 
    console.log($(this).attr('href'));
    event.preventDefault();
}); 
于 2013-09-21T16:30:14.693 に答える
0

コードに従って、「a」タグをクリックすると、ページ内のすべてのアンカー タグ オブジェクトのリストが の配列に表示されます$(this)。そして、これらの各オブジェクトには、href、hash などのjQuery 固有のプロパティ (これは jQuery でラップされているため) があります。

したがって、アンカータグが1つしかない場合は、使用できます$(this)[0].href

しかし、より具体的な解決策は使用することです$(this).attr("href")

于 2013-09-21T16:51:10.650 に答える
0

次のコードを使用して、完全な href またはハッシュのみの両方を取得できます。

$("body").on("click","a",function() {
  var href = $(this).attr("href")
  var hash = href.replace(/^.*?#/,'');
  console.log(href + " - " + hash);
});

JSFiddleでデモを見ることができます。

于 2013-09-21T16:51:48.447 に答える