0

好的,我一直在尝试获取特定链接的 id,但 attr('id') 一直返回未定义。

这是html的结构:

<hr />

<span>The Huffs</span><br />

            <img src="images/thumbnails/websitethumbs/graphicdesign/logos/th_2.jpg" height="120"><br />

            <span>the huff family<span><br />

            <span>$10.99<span><a id="btn_2" class="btn hidden" href="cart.php?add=2"> add</a><br />

            <form method="post">

                <select class="sizeSelect" id="size_2">

                <option value="0">Select Size</option><option value="7x5">7x5</option><option value="16x12">16x12</option><option value="10x10">10x10</option></select>

                <span> + $<span class="shipping" id="shipping_2"></span> shipping</span>

            </form>

<hr />

我想从#size_2 遍历到ID 为#btn_2 的a 标记,我需要获取该ID 并将其保存到变量中。

我一直在使用以下 jquery 代码:

   $('.sizeSelect').change(function(size) {
     sizeId = $(this).attr('id');
     addBtn = $(sizeId).parent().closest('.btn').attr('id');
     ...

所以我想添加 btn 以返回“btn_2”,但它只返回“未定义”。我也尝试过 prev() 而不是最接近的...好吧,我尝试了很多东西。几个小时后,我真的很感激一些见解:)

提前致谢!

4

3 回答 3

1

你的意思是这样的:

$('.sizeSelect').change(function() {
  var sizeId = $(this).attr("id").split("_")[1]; // gets 2 from size_2
  //since id's are unique
  var addBtn = "btn_"+sizeId; //anchor id  
});
于 2012-06-13T08:15:22.450 回答
0

看看这段代码:

sizeId = $(this).attr('id');
addBtn = $(sizeId).parent().closest('.btn').attr('id');

在您的情况下, ID.sizeSelectsize_2,所以

sizeId == 'size_2';

所以你正在做的实际上是

addBtn = $('size_2')

它应该是

addBtn = $('#size_2')
于 2012-06-13T08:16:11.490 回答
0

您必须从

addBtn = $(sizeId).parent().closest('.btn').attr('id');

addBtn = $('#'+sizeId).parent().siblings('.btn').attr('id');
于 2012-06-13T08:33:11.343 回答