element.childElementCount返回的值不正确

时间:2018-07-17 08:52:45

标签: javascript android-webview

我要选择的元素没有孩子。

这是js代码

var elements = document.body.getElementsByTagName("*");

elements.each(function(element) {
  if (element.childElementCount == 0) {
    element.addEventListener(
      "click",
      function() {
        makeBorder(selectedElement, false);
        selectedElement = element;
        makeBorder(element, true);
      },
      false
    );
  } else {
    element.removeEventListener("click", null, false);
    element.removeEventListener("onclick", null, false);
  }
});

从链接“ m.naver.com”中,类[“ grid1 id_cui_cupid_news _MM_AIRS_CONTAINER”]的实际childElementCount不为0。

但是在代码中,childElementCount为0。

我正在android webview中运行此代码。

如何获取没有子元素的元素?

引用:Select element inside WebView and get details

[[[[[[[[[编辑]]]]]]]

Object.prototype.each = function(fn, bind) {
    for (var i = 0; i < this.length; i++) {
        if (i in this) {
            fn.call(bind, this[i], i, this);
        }
    }
};

var selectedElement = null;

document.getElementsByTagName("*").addEventListener("click", function(e) {
	if(e.target && e.target.childElementCount == 0) {
		
		makeBorder(selectedElement, false);
		selectedElement = element;
		makeBorder(element, true);
	}
});

// here

var makeBorder = function(element, selected) {
    if (element) {
        element.style.cssText = selected ? 'background: #CDEA90;' : '';
    }
};

0 个答案:

没有答案