如何在隐藏的div显示时设置所需的属性?

时间:2017-04-14 03:14:14

标签: javascript

我有一个hdden div wit wit在里面选择它。我想在显示div时设置必需的属性。

function showHide(elem) {
  if (elem.selectedIndex !== -1) {
    //get the divs to show/hide
    divsO = document.getElementById("frmRegister").getElementsByTagName('div');
    //hide the divs
    for (var i = 0; i < divsO.length; i++) {
      divsO[i].style.display = 'none';
    }
    //unhide the selected div
    var elems = document.getElementsByClassName('div' + elem.value);
    for (i = 0; i < elems.length; i++) {
      elems[i].style.display = 'block';
      document.getElementsByClassName(elems[i]).getElementsByTagName('select')[0].required = true;
    }
    prices();
  }
}

1 个答案:

答案 0 :(得分:1)

getElementsByClassName(elems[i])没有意义。 elems[i]已经是一个元素,而不是一个用作类名参数的字符串。

您需要的仅是elems[i],因此该行应为

elems[i].getElementsByTagName('select')[0].required = true;