从.attr('href')存储数字时,jQuery变量未定义

时间:2013-06-17 17:22:10

标签: jquery variables attr

我正在尝试从此链接获取号码

   <div id="section-tabs-header">
   <a id="section-tabs-header-subtitle" class="ellipsis" href="/courses/123456">Math 101</a>

并将其存储在变量

var courseID = $("div#section-tabs-header a#section-tabs-header-subtitle").attr("href").match(/\d+/);
console.log(courseID);

但变量是“未定义的”。

http://jsbin.com/ukogam/2/edit

是因为jQuery发现的是html而不是数字的纯文本?我如何得到这个号码?

3 个答案:

答案 0 :(得分:1)

我没有看到任何关于变量未定义的内容。我得到了$ undefined,所以我包含了jQuery。然后我得到了href不是一个函数所以我修改了一些代码,这些代码在你提到的代码之后:$("#main a").attr("href","/courses/" + courseID);

我认为这是你的期望吗? http://jsbin.com/egevok/1/edit

答案 1 :(得分:1)

我修改了它,看看http://jsbin.com/iculoq/2/edit

var courseID = $("#section-tabs-header-subtitle").attr("href").split('/')[2];

$("#main a").attr('href', "/courses/" + courseID);

答案 2 :(得分:1)

var href = $("#section-tabs-header-subtitle")
  .attr("href");
console.log(href);
var courseID =  href.match(/\d+/);
console.log(courseID);

$("#main a").attr("href","/courses/" + courseID);