如何使用 dojo 从 innerText 或 InnerHTML 获取字符数?
How do get a character count from innerText or InnerHTML using dojo?
我必须在我的应用程序中使用 Dojo
,我试图在 HTML
元素中获取总数,但我不断收到错误消息。
这是我的代码:
var attributeIcons = dojo.query(".attribute-icon");
if (attributeIcons.innerText.length = 4) {
console.log(attributeIcons);
}
我也尝试使用这种方法:
var attributeIcons = document.getElementsByClassName("attribute-icon").innerHTML.length;
console.log(attributeIcons);
每种方法都会给我同样的错误:
Uncaught TypeError: Cannot read property 'length' of undefined
dojo.query() 和 document.getElementsByClassName() return 一个 array-like 对象。这意味着您不能在节点数组上调用 .innerHTML(您得到未定义),随后您不能调用 .length。
查看这两个参考资料:
https://dojotoolkit.org/reference-guide/1.7/dojo/query.html,
https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
尝试运行执行以下操作以查看您的数组。
var attributeIcons = dojo.query(".attribute-icon");
console.log(attributeIcons)
// or
var attributeIcons = document.getElementsByClassName("attribute-icon");
console.log(attributeIcons)
您可以选择数组中的一项,然后 运行 .innerHTML.length 在其上,而不是在整个数组上。
var attributeIcons = dojo.query(".attribute-icon");
console.log(attributeIcons[0].innerHTML.length)
// or
var attributeIcons = document.getElementsByClassName("attribute-icon");
console.log(attributeIcons[0].innerHTML.length)
希望对您有所帮助!
document.getElementsByClassName("attribute-icon")
或 dojo.query(".attribute-icon")
returns 数组,您需要像这样遍历数组,
var attributeIcons = document.getElementsByClassName("attribute-icon");
Array.prototype.forEach.call(attributeIcons, function(el) {
console.log(el.innerHTML.length);
});
我必须在我的应用程序中使用 Dojo
,我试图在 HTML
元素中获取总数,但我不断收到错误消息。
这是我的代码:
var attributeIcons = dojo.query(".attribute-icon");
if (attributeIcons.innerText.length = 4) {
console.log(attributeIcons);
}
我也尝试使用这种方法:
var attributeIcons = document.getElementsByClassName("attribute-icon").innerHTML.length;
console.log(attributeIcons);
每种方法都会给我同样的错误:
Uncaught TypeError: Cannot read property 'length' of undefined
dojo.query() 和 document.getElementsByClassName() return 一个 array-like 对象。这意味着您不能在节点数组上调用 .innerHTML(您得到未定义),随后您不能调用 .length。
查看这两个参考资料: https://dojotoolkit.org/reference-guide/1.7/dojo/query.html, https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
尝试运行执行以下操作以查看您的数组。
var attributeIcons = dojo.query(".attribute-icon");
console.log(attributeIcons)
// or
var attributeIcons = document.getElementsByClassName("attribute-icon");
console.log(attributeIcons)
您可以选择数组中的一项,然后 运行 .innerHTML.length 在其上,而不是在整个数组上。
var attributeIcons = dojo.query(".attribute-icon");
console.log(attributeIcons[0].innerHTML.length)
// or
var attributeIcons = document.getElementsByClassName("attribute-icon");
console.log(attributeIcons[0].innerHTML.length)
希望对您有所帮助!
document.getElementsByClassName("attribute-icon")
或 dojo.query(".attribute-icon")
returns 数组,您需要像这样遍历数组,
var attributeIcons = document.getElementsByClassName("attribute-icon");
Array.prototype.forEach.call(attributeIcons, function(el) {
console.log(el.innerHTML.length);
});