我正在尝试检查标记a是否具有标识selected
。
我有html:
<div id="30-super-attribute-138" class="colorswatch-lines">
<a class="lnk-colorswatch selected" id="30-lnk-colorswatch-138-34" href="javascript:selectColorSwatch(138, 34, 30, true)"></a>
</div>
和我的原型脚本:
if ($('30-super-attribute-138 a').hasClassName('selected')) {
var myStyle = '#333';
$('main-picture').setStyle ({
backgroundColor: myStyle
});
}
setStyle正如预期的那样工作,但是如果标签a
选择了类,我有麻烦要检查 - 选择颜色后它就发生了。
在控制台中,我看到错误:Uncaught TypeError: Cannot read property 'hasClassName' of null
请如何正确选择ID为30-super-attribute-138
谢谢Peter
答案 0 :(得分:1)
......嗯这很容易,用原型得到第一个子元素:
if ($('30-super-attribute-138').down('a').hasClassName('selected')) {
var myStyle = '#333';
$('main-picture').setStyle ({
backgroundColor: myStyle
});
}
好的,对于这类问题,现在看起来非常简单。
答案 1 :(得分:0)
为了在PrototypeJS中执行它的替代方法,您可能会发现它有用/有趣,这可以在单个DOM调用中起作用:
if($$('#30-super-attribute-138 a.selected')[0]) {
var myStyle = '#333';
$('main-picture').setStyle ({
backgroundColor: myStyle
});
}
快乐的编码!