点击获取href值

时间:2016-12-15 06:17:22

标签: javascript jquery

我有6个链接。当我点击任何链接时,我只得到第一个id值

var hrefValue = '';
$(".info_link").click(function () {
     hrefValue = $(this).attr("id");
    console.log('hrefValue : '+hrefValue);
});

6 个答案:

答案 0 :(得分:4)

要获取链接的href / id值,请执行以下操作:

$('#tgg').on('click','.info_link',function(e) {
  e.preventDefault();
  var hrefValue = this.href;//get the href property of the current clicked element
  var id = this.id;//get the id property of the current clicked element
  console.log('hrefValue : ' + hrefValue, 'id:' + id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tgg"><a class="info_link" id="unique_id" href="http://google.com ">google</a></div>

如果你想要一组特定元素的所有id / href,那么你需要一个全局数组变量来推送被点击元素的id / href

var id = [];

$(".info_link").click(function() {
  id.push(this.id);
  console.log('ids : ' + id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="info_link" id="q">0</a>
<a class="info_link" id="q1">1</a>
<a class="info_link" id="q2">2</a>
<a class="info_link" id="q3">3</a>
<a class="info_link" id="q4">4</a>

注意:如果您动态附加链接,则需要委派点击事件

答案 1 :(得分:1)

你需要经历循环。每个都用jQuery检查。

$(".info_link").each(function () {
     $(this).click(function (){
         hrefValue = $(this).attr("id");
         console.log('hrefValue : '+hrefValue);
     });
});

答案 2 :(得分:0)

$(".info_link").click(function () {
     var hrefValue = $(this).attr("id");
    console.log('hrefValue : '+hrefValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="info_link" id="q">asd</a>
<a class="info_link" id="q1">asd</a>
<a class="info_link" id="q2">asd</a>
<a class="info_link" id="q3">asd</a>
<a class="info_link" id="q4">asd</a>

var hrefValue = $(this).attr("id");的初始化置于点击

答案 3 :(得分:0)

使用下面的代码,不要忘记包含jquery库

Handle WRITE_EXTERNAL_STORAGE

答案 4 :(得分:0)

如果我理解你的问题,这是一个解决方案:

<a href="http://example.com" data-value="something" id="same_id_for_all_urls">Click me </a>

$('#same_id_for_all_urls').click(function(e)
{
    e.preventDefault();
    var valueOfLink = $(this).data('value');
    console.log(valueOfLink);
})

答案 5 :(得分:0)

不完全确定您要在此处执行的操作,但这是您获取.info_link的所有href和ID的方法。

如果给出了HTML示例,则可以针对您的用例优化Javascript代码。很遗憾,我不得不这样做。

var txngg = function () {
};
(function($, window, document) {
  $('#tgg').on('click', '.info_link', function() {
    var values = [];
    $(this).parent().find('.info_link').each(function(i, e) {
      var $e = $(e);
      values.push({
        "href": $e.attr('href'),
        "id": $e.attr('id')
      });
    });
    console.log(values);
    return false;
  });
})(jQuery, window, document);
#tgg a { display: block; line-height: 150%; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tgg">
	<a href="#a" class="info_link" data-toggle="collapse" id="a" data-target="#tuthtstory" onclick="txngg()" title="Click to view Validation Result">a</a>
	<a href="#b" class="info_link" data-toggle="collapse" id="b" data-target="#tuthtstory" onclick="txngg()" title="Click to view Validation Result">b</a>
	<a href="#c" class="info_link" data-toggle="collapse" id="c" data-target="#tuthtstory" onclick="txngg()" title="Click to view Validation Result">c</a>
	<a href="#d" class="info_link" data-toggle="collapse" id="d" data-target="#tuthtstory" onclick="txngg()" title="Click to view Validation Result">d</a>
	<a href="#e" class="info_link" data-toggle="collapse" id="e" data-target="#tuthtstory" onclick="txngg()" title="Click to view Validation Result">e</a>
	<a href="#f" class="info_link" data-toggle="collapse" id="f" data-target="#tuthtstory" onclick="txngg()" title="Click to view Validation Result">f</a>
</div>