如何使用jquery从字符串变量中获取锚标记值

时间:2014-10-04 10:05:57

标签: javascript jquery html parsing

<table id="mytable">
  <tr>
    <td> 1.<a class="mybk" href="/sample/samples/sample.php?mybookid=2000"> PROFESSIONAL EDUCATIONAL</a></td>
  </tr>
  <tr>
    <td> 2.<a class="mybk" href="/sample/samples/sample.php?mybookid=2001"> New EDUCATIONAL</a></td>
  </tr>
  ........
  .
</table>

从HTML我可以得到tr,td值为

1.<a class="mybk" href="/sample/samples/sample.php?mybookid=2000"> PROFESSIONAL EDUCATIONAL</a>

...等

我的问题是每行如何获得锚标记href值

我的代码是:

$('#mytable> tbody > tr').each(function() { 
 var name = $(this).find("td").eq(0).html();
 var href = $(".mybk").attr('href');
}

我只获得了所有循环的第一个href值。我怎样才能得到每一行标签href值?

2 个答案:

答案 0 :(得分:0)

尝试将其更改为工作&#34;在上下文&#34;

$('#mytable> tbody > tr').each(function() {
 var tData = $(this).find("td").eq(0);
 var name = tData.html();
 var href = $(".mybk", tData).attr('href');
 var bookId = href.match(/mybookid=(\d+)/)[1];
});

http://jsbin.com/lijeq/1/

答案 1 :(得分:-1)

因为你要求的是这个值:

var href = $(".mybk").attr('href');

IE:遇到类.mybk的第一个元素 试试这个:

$(function(){
    $('#mytable> tbody > tr').each(function() { 
     var name = $(this).find("a").text();
     var href = $(this).find("a").attr('href');
     console.log(name,href);
    });
})