如何用jquery获取标签的href?

时间:2016-03-09 13:16:40

标签: jquery html

我想在我的网页中获取href标记a属性中存在的ID。我想首先阻止发布后页,然后执行此操作。 a标签如下:

'<a href="/ArtPlaces/Delete/5">حذف</a>'

$('a:contains("حذف")').click(function (e) {
    e.preventDefault();
    var href = this.href;
    var splitHref = href.split("/");
    var inedxDelete = splitHref.length - 1;
    var id = splitHref[inedxDelete];
    alert(id);
});
  

TypeError:this.href不是函数

我想在href属性中获取5号码。请提供建议

2 个答案:

答案 0 :(得分:2)

而是使用.getAttribute().attr(),您可以使用[].pop()方法返回数组中最后添加的项目,因此您不必计算索引它的。

&#13;
&#13;
$('a:contains("حذف")').click(function(e) {
  e.preventDefault();
  var href = $(this).attr('href');
  var num = href.split("/").pop(); // will give you last value of array.
  alert(num);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/ArtPlaces/Delete/5">حذف</a>'
&#13;
&#13;
&#13;

使用带.match()方法的正则表达式:

&#13;
&#13;
$('a:contains("حذف")').click(function(e) {
  e.preventDefault();
  var href = $(this).attr('href');
  var num = href.match(/\d+/g)[0];
  alert(num);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/ArtPlaces/Delete/5">حذف</a>'
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您的代码对我有用。要5使用下面给出的代码

var splitHref = href.split("/")[5]

正如Jai在评论中所说的那样

  

this.attr(&#39; href&#39;)无法正常工作,但由于jQuery方法仅适用于jQuery对象,因此会产生错误。

<强>样本

&#13;
&#13;
$('a:contains("حذف")').click(function (e) {
    e.preventDefault();
    var href = this.href;
    var splitHref = href.split("/")[5]
    //var inedxDelete = splitHref.length - 1;
    //var id = splitHref[inedxDelete];
    alert(splitHref);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/ArtPlaces/Delete/5">حذف</a>
&#13;
&#13;
&#13;