带有多个按钮的getElementById

时间:2015-06-03 07:32:49

标签: javascript

我正在努力获取我的链接以启用各自的按钮。例如,第一个链接应启用第一个按钮,第二个链接应启用按钮2。

有人可以帮忙吗?

<a href="http://www.linkhere.com" onclick="document.getElementById("butt1").disabled=false">Link 1</a>
<a href="http://www.linkhere.com" onclick="document.getElementById("butt2").disabled=false">Link 2</a>

   <button disabled class="btn btn-primary pull-left" id="butt1">Button 1</button>
   <button disabled class="btn btn-primary pull-left" id="butt2">Button 2</button>

6 个答案:

答案 0 :(得分:6)

您的问题是您使用引号。有两种选择:

  1. 使用单引号
  2. 使用&quot;\22代替双引号
  3. <强>解释

    您的onclick包含在双引号中。只要您使用双引号,它就是onclick的结尾。

    <强>解决方案

    <a href="http://www.linkhere.com" onclick="document.getElementById('butt1').disabled=false">Link 1</a>
    <a href="http://www.linkhere.com" onclick="document.getElementById(&quot;butt2&quot;).disabled=false">Link 2</a>
    

    <强>示范

    请参阅此fiddle(感谢@JamesThorpe更新转义报价选项)

    注意,我删除了href,因为如果要在当前页面上执行某些操作,链接到某处是没有意义的。

答案 1 :(得分:1)

使用"butt*"更改'butt*',否则浏览器会读取此内容

onclick="document.getElementById("

并使用href="link"编辑href="#"(这不是强制性的,但现在的问题有点奇怪)

<a href="#" onclick="document.getElementById('butt1').disabled=false">Link 1</a>
<a href="#" onclick="document.getElementById('butt2').disabled=false">Link 2</a>

<button disabled class="btn btn-primary pull-left" id="butt1">Button 1</button>
<button disabled class="btn btn-primary pull-left" id="butt2">Button 2</button>

答案 2 :(得分:1)

removeAttribute(:attribute)也可以做到这一点。

<a href="#" onclick="document.getElementById('butt1').removeAttribute('disabled');">Link 1</a>
<button disabled class="btn btn-primary pull-left" id="butt1">Button 1</button>

答案 3 :(得分:1)

只需将id的quatation标记从double更改为单个:

document.getElementById('butt1').disabled=false;

如果锚只是用于激活,请在结尾处添加一个返回false:

document.getElementById('butt1').disabled=false; return false;

答案 4 :(得分:0)

你在这个字符串中遇到问题

Asc()

应该是

"document.getElementById("butt1").disabled=false"

Fiddle此处

答案 5 :(得分:0)

通过更多工作,您可以开始启用更多元素,或添加您可以在以后更轻松地扩展的功能。

作为一个简单的例子,我添加了一个小的javascript文件,您可以在其中设置单击激活/停用其他元素时的元素。

目前我正在阻止默认操作,因此您不会导航到您实际设置的链接,但这完全取决于您;)

;(function (ns) {
  
  var actionElements = {
      l1: ['butt1'],
      l2: ['butt2']
    };
  
  function bootstrap() {
    var prop, value, element;
    for (prop in actionElements) {
      if (actionElements.hasOwnProperty(prop)) {
        element = document.getElementById(prop);
        value = actionElements[prop];
        if (element) {
          element.addEventListener('click', function(e) {
            if (typeof e === 'undefined') {
              var e = window.event;
            }
            e.preventDefault();
            for (var i = 0; i < this.length; i++) {
              var el = document.getElementById(this[i]);
              el.disabled = false;
            }
            return false;
          }.bind(value));
        }
      }
    }
  }
  
  ns.addEventListener('load', bootstrap);
  
}(window));
<a href="http://www.linkhere.com" id="l1">Link 1</a>
<a href="http://www.linkhere.com" id="l2">Link 2</a>

<button disabled class="btn btn-primary pull-left" id="butt1">Button 1</button>
<button disabled class="btn btn-primary pull-left" id="butt2">Button 2</button>