如何通过jquery获取(id)和添加(href)?

时间:2014-09-01 01:13:36

标签: jquery

如何获取text(id)中的Numbers(data-id)和text(target)中的Numbers(data-id) 并按(href)

添加按钮

HTML

<span id='a' data-id='111'>id</span>
<span id='a' data-id='321'>target</span>
<button id='send'>send</button>
<br>
<span id='a' data-id='456'>id</span>
<span id='a' data-id='234'>target</span>
<button id='send'>send</button>
</br>
<span id='a' data-id='321'>id</span>
<span id='a' data-id='234'>target</span>
<button id='send'>send</button>
</br>
<span id='a' data-id='213'>id</span>
<span id='a' data-id='123'>target</span>
<button id='send'>send</button>

我用这个但错误? jquery

   $("#a:even").each(function(){
   var b = $(this).attr("data-id");
   });

   $("#a:odd").each(function(){
   var c = $(this).attr("data-id");
   });

   var d = "http://fde&id="+b+"hve&target="+c+";
   $("#send").each(function(){
    $(this).attr("href",d);
    });

但是错误? 怎么样?

我想要这样

<span id='a' data-id='111'>id</span>
<span id='a' data-id='321'>target</span>
<button id='send' href='http://fde&id=111&hve&target=321'>send</button>
<br>
<span id='a' data-id='456'>id</span>
<span id='a' data-id='234'>target</span>
<button id='send' href='http://fde&id=456&hve&target=234'>send</button>
</br>
<span id='a' data-id='321'>id</span>
<span id='a' data-id='234'>target</span>
<button id='send' href='http://fde&id=321&hve&target=234'>send</button>
</br>
<span id='a' data-id='213'>id</span>
<span id='a' data-id='123'>target</span>
<button id='send' href='http://fde&id=213&hve&target=123'>send</button>

并谢谢!!

2 个答案:

答案 0 :(得分:0)

请尝试使用此javascript代码

$('.send').each(function(){
        var id1 = $(this).prev('.a').attr('data-id');
        var id2 = $(this).prev('.a').prev('.a').attr('data-id');
        $(this).attr('href', 'http://fde&id='+id2+'&target='+id1);
}

希望这会帮助您删除以前的所有代码。 用CLASS替换您的ID

答案 1 :(得分:0)

首先要做的事情是:这是一个JSFiddle,可以完成你所追求的目标:http://jsfiddle.net/ftvLkhqg/

但是我应该提一下,你应该考虑改变你的方法有几个根本性的错误。

  1. ID必须是唯一的。您在HTML中多次重复使用相同的ID,您需要考虑使用“类”(class="a")。
  2. 'href'不是按钮元素的有效属性。您正在为按钮元素设置href属性,但这不是有效用法。请考虑使用链接(<a href=""></a>)。
  3. 小心循环逻辑。您的循环操作不正确。在进入设置变量'd'的行之前,您已经遍历了用于设置变量'b'和'c'的元素。由于JavaScript的异步特性,你可以在设置'd'的位置找到'b'和'c'的任何值,而'd'只能设置一次。如果它完全有效,你最终会为每个按钮设置相同的URL。
  4. 要使用的正确代码是<br/><br>不是</br>
  5. 考虑到这一点,这是第二个JSFiddle,展示了我如何处理相同的场景。 http://jsfiddle.net/bqgesjjb/3/