这是一个非常简单的问题,但由于我只学习了一周,所以答案还没有出现。在以下两行代码之间会发生错误,因为Regex
随机为空,但是我该如何检查它是否为空,以便不会抛出错误?
var Regex = /\<span class="currency-robux">([\d,]+)\<\/span\>/
var PriceSelling = data.match(Regex)[1]
这是一个非常简单的问题,但由于我只学习了一周,所以答案还没有出现。在以下两行代码之间会发生错误,因为Regex
随机为空,但是我该如何检查它是否为空,以便不会抛出错误?
var Regex = /\<span class="currency-robux">([\d,]+)\<\/span\>/
var PriceSelling = data.match(Regex)[1]
Like this:
var Regex = /<span class="currency-robux">([\d,]+)<\/span>/;
var PriceSelling = data.match(Regex);
PriceSelling = PriceSelling ? PriceSelling[1] : '';
if (PriceSelling.length < 1) {
alert('Nothing!');
}
< 1
,而是使用 > 0
。 - Toothbrush你可以先进行第一步:
var result = data.match(Regex);
var PriceSelling = result != null ? result[1] : undefined;
或者使用 OR 运算符将空数组作为默认结果:
var PriceSelling = (data.match(Regex) || [])[1];
document.querySelector(".currency-robux").textContent
。 (如果尚未在DOM中,则添加一个额外的createDocumentFragment
行,然后查询该行)。如果单词class
后面有空格或多个类或多个属性,也不会出现问题。 - Benjamin Gruenbaum