在if语句中使用if语句的建议
问题描述:
我想测试一个类是否存在,如果它确实使用javascript/google closure在语句中执行脚本。问题是我目前的代码返回undefined,所以我想知道是否有人可以给我一些建议?在if语句中使用if语句的建议
if (goog.dom.classes.has('html', 'pe')) {
var searchCtn = goog.dom.getElementsByClass('search');
var headerWrapper = goog.dom.getElementByClass('header');
goog.dom.append(headerWrapper,searchCtn);
}
答
'html'不是有效的元素对象。尝试传入document.documentElement或使用google通过classname获取元素。
if (goog.dom.classes.has(document.documentElement, 'pe')) {
var searchCtn = goog.dom.getElementsByClass('search');
var headerWrapper = goog.dom.getElementByClass('header');
goog.dom.append(headerWrapper,searchCtn);
}
或
if(goog.dom.getElementsByClass('pe')){
var searchCtn = goog.dom.getElementsByClass('search');
var headerWrapper = goog.dom.getElementByClass('header');
goog.dom.append(headerWrapper,searchCtn);
}
究竟是返回undefined在哪里? – 2012-02-28 13:01:05
基本上,如果我在控制台中运行这个时,我知道html有类.pe我的.search类未附加到.header。在没有if的情况下在控制台中运行脚本会追加.search? – styler 2012-02-28 13:07:22
看起来你错过了'var'headerWrapper = goog.dom.getElementByClass('header');'。这会导致防止追加函数运行的异常。 – 2012-02-28 13:21:14