$.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上,但出现错误,指出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">


任何帮助深表感谢

最佳答案

这里有两个问题,


value是输入元素,因此不能有子元素
appendChild将节点作为参数,而不是字符串


由于要在div的后代input之后添加#income_ranges,因此请使用descendant selector(选择input元素)和after()(将div作为input插入的下一个兄弟姐妹)

$('#income_ranges input').filter(function () {
    return this.value == ''
}).after('<div> cant be blank </div>')

关于javascript - javascript dom appendChild错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31603365/

10-12 07:19