这是fiddle

在循环函数中,我将获得在顶层具有span元素的html字符串,或者它可能是div中的子元素。在两种情况下如何找到它?

我知道find仅搜索儿童。甚至不确定如何将其放在顶层(如下面的data2中)?如果我这样做了,那么我想我会先做一个find,如果它的长度是0,那么在顶层搜索span

var data1 = "<div class='form-group'><span class='editableColumn'>NAT</span><input type='text' class='editableColumn form-control' style='display:none' name='Lot' value='NAT'></div>";

var data2 = "<span class='editableColumn'>Yes</span><input type='checkbox' name='IsBackorder' class='editableColumn editor-active' style='display:none' checked='checked' value='true'>";
var myStringArray = [data1, data2];
var arrayLength = myStringArray.length;


$(document).ready(function() {
  for (var i = 0; i < arrayLength; i++) {
    console.log(myStringArray[i]);
    //Do something
    var span = $(data1).find("span.editableColumn").text();
    $("#" + i).text(span);
  }

})

最佳答案

如果愿意,可以使用.addBack()在一行中完成。

$(document).ready(function() {
  for (var i = 0; i < arrayLength; i++) {
    var span = $(myStringArray[i]).find("span.editableColumn").addBack("span.editableColumn").text();
    $("#" + i).text(span);
  }
})


http://jsfiddle.net/a21sk6dx/

08-04 10:38