Javascript。使用纯JS禁用#div?

时间:2018-10-27 15:31:06

标签: javascript

我搜索了stackoverflow,并浏览了Google的许多页面。没有什么可以帮助我禁用按钮。所以我来到这里,希望有人能帮助我。

这是我要禁用的按钮。

编辑:这与您自己说过的双重标题不同,这是一个包含链接而不是按钮的div。

<div class="de elBTN elAlign_center elMargin0 ui-droppable de-editable" id="button-80437" data-de-type="button" data-de-editing="false" data-title="button" data-ce="false" data-trigger="none" data-animate="fade" data-delay="500" style="margin-top: 30px; outline: currentcolor none medium; cursor: pointer; display: block;" data-elbuttontype="2" aria-disabled="false" data-element-theme="customized">
  <a href="#" class="elButton elButtonSize1 elButtonColor1 elButtonRounded elButtonPadding2 elButtonCorner3 elBtnHP_25 elBTN_b_1 elBTNone elButtonBlock elButtonFull elBtnVP_5 elButtonShadow5 elButtonTxtColor1 de1pxLetterSpacing no-button-effect" style="color: rgb(255, 255, 255); background: rgb(1, 116, 199);; font-size: 20px;" data-show-button-ids="tmp_paragraph-42317,headline-29302" data-hide-button-ids="headline-71892,button-80437" id="undefined-503">
    <span class="elButtonMain">YES</span>
    <span class="elButtonSub" style="font-size: 14px;">I Understand</span>
  </a>
</div>

这就是我想要做的。

ver = iOSversion(); 
if (ver[0] <= 11.4) { 
  alert('Your OS is below 11.4, please use a different device.'); 
  document.getElementById('button-80437').disabled = true;
} 
function disableEnable(elems, isDisabled){ 
  for(var i = elems.length-1;i>=0;i++) {
    elems[i].disabled = isDisabled;
  }
}

也尝试过这些。.什么都没有。

var div = document.getElementsById("button-80437");
disableEnable(div.getElementsByTagName("button"), true);

编辑:感谢您的回答。我很感激。不幸的是,我无法将其更改为使用所见即所得的“ clickfunnels”制作的按钮。

也许我可以代替它。

How do I disable a href link in JavaScript?

注入href =“ javascript:void(0)”吗?

3 个答案:

答案 0 :(得分:0)

div元素没有disabled属性。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div

如果您改用button,则可以设置disabled属性以禁用按钮。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button

您似乎正在使用一个希望以其他方式禁用按钮的框架。如果您包含了这些信息,将会有所帮助。

答案 1 :(得分:0)

Jorge said一样,代码中的主要问题是您试图禁用非格式元素。

您可以:

  • 通过将CSS pointer-events: none放在HTML元素上来禁用<div>
  • 将您的<div>更改为<button>(这是一个表单元素)并使用您当前的方法(在Javascript中设置disabled属性)< / li>

* 您可以在pointer-events上找到浏览器支持信息:https://caniuse.com/pointer-events

答案 2 :(得分:0)

我明白了你想做的事。所以听

1)“禁用”可在按钮上使用

2)您拥有的不是“按钮”而是“ div内的超链接”

3)那你该怎么办?

您必须使用各种样式来显示“小丑按钮”已禁用

if( version < 11.4 ) {
  // make element div style looks like its disabled
  // <a href="#"> 
}
else{
  // make element div style looks like it is active
  // <a href="<your-link-url>"
}