我就快搞定了,但还需要一点推力。我正在解析一个包含(可能) HTML的字符串。代码如下:
function clean(snippet) {
OBJ = $(snippet);
txt = OBJ.text();
if(txt) {
parsed = txt;
} else {
parsed = snippet;
}
return parsed;
}下面是我的测试用例:
alert(clean("<div>Randomness</div>")); // Alerts "Randomness"
alert(clean("Randomness")); // Alerts "Randomness"
alert(clean("<div></div>")); // Alerts "<div></div>" - should be blank我真的不知道如何确定传递进来的是一个空标签还是纯文本,以及如何处理它。所以我需要一个测试来看看标签是否为空。我不确定这是不是最好的方法。
发布于 2010-02-24 17:12:58
您可以测试查询是否返回任何对象:
function clean(snippet) {
OBJ = $(snippet);
if(OBJ.length == 0)
return snippet;
txt = OBJ.text();
return txt;
}发布于 2010-02-24 17:10:58
您正在测试txt不为空。尝尝这个。
if (txt == '')发布于 2010-02-24 17:14:15
如果你有html,你可以这样做:
root = $(snippet);
if (root.text().length > 0) {
return snippet;
}
if (root.find(":first")) {
return snippet;
}这不能处理div中的第一个元素为空的情况。
https://stackoverflow.com/questions/2324772
复制相似问题