我正在调用“向下”功能但是使用1.6.1_rc2
得到了无效的参数这是html片段:
<TR id=000000214A class="activeRow searchResultsDisplayOver" conceptID="0000001KIU">
<TD>
<DIV class=gridRowWrapper>
<SPAN class=SynDesc>Asymmetric breasts</SPAN>
<DIV class=buttonWrapper>
<SPAN class=btnAddFav title="Add to Favorites"> </SPAN>
</DIV>
</DIV>
</TD>
</TR>
这是代码:
var description = row.down('span.SynDesc').innerHTML;
row是元素的dom引用。
prototype会追加一个#然后是元素的id:
findElements: function(root) {
root = root || document;
var e = this.expression, results;
switch (this.mode) {
case 'selectorsAPI':
if (root !== document) {
var oldId = root.id, id = $(root).identify();
id = id.replace(/[\.:]/g, "\\$0");
e = "#" + id + " " + e;
}
results = $A(root.querySelectorAll(e)).map(Element.extend); <-- e = "#000000214A span.SynDesc"
root.id = oldId;
return results;
case 'xpath':
return document._getElementsByXPath(this.xpath, root);
default:
return this.matcher(root);
}
我收到“无效参数”错误?
如果我在违规行之前放置一个断点并将e改为等于“span.SynDesc”,那么它可以正常工作。
帮助。 :)
答案 0 :(得分:1)
我碰到了这个。将TR的ID更改为以字母开头应该可以解决问题。事实证明合法的HTML ID匹配/ ^ [A-Za-z] [A-Za-z0-9 _:.-] * $ /。