javascript dom appendChild上的错误

时间:2015-07-24 06:10:38

标签: javascript jquery

$.each($('#income_ranges').children(), function(key, value) {
  var field_row = value.getElementsByTagName("input");

  $.each(field_row, function(key, value) {
    if(value.value == "") {
        value.appendChild("<div> cant be blank </div>");
    }
  })
})

我想将以下div附加到值但是我得到一个错误,指出value.appendChild不是一个函数。

在我的代码值是一个HTMLInputElement,我想在元素下面输入div,但我得到了令人讨厌的错误。

<input class="string required" id="lender_dsr_max_threshold_income_ranges_attributes_1437717712398_income_range" name="lender_dsr_max_threshold[income_ranges_attributes][1437717712398][income_range]" type="text">

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

这里有两个问题,

  1. value是一个输入元素,因此它不能包含子元素
  2. appendChild将节点作为参数,而不是字符串
  3. 由于您要在div的{​​{1}}后代添加input,请使用descendant selector(以选择#income_ranges元素)和after()(将div作为input的下一个兄弟插入

    input

答案 1 :(得分:0)

感谢你的所有建议。我解决了这个问题

$.each($('#income_ranges').children(), function(key, value) {
  var field_row = value.getElementsByTagName("input");

  $.each(field_row, function(key, value) {
    if(value.value == "") {
       $(this).after("<div> cant be blank </div>");
    }
  })
})