我有两个框架,第一个框架中有一个表达式并调用了另一个框架中的highlightElements函数。这个表达式在Firefox中运行良好:
parent.frames[0].highlightElements(lineNumbers, stringObj);
高亮元素函数(仅为确保):
function highlightElements(lineNumbers, stringObj) {
// run through the cycle and highlight them
//for (var ln in lineNumbers) {
var length = lineNumbers.length;
for (var ln=0; ln<length; ln++) {
var elements = $('.no');
//for (var i in elements) {
var el_length = elements.length;
for (var i=0; i<el_length; i++) {
if (parseInt(elements[i].innerHTML) == lineNumbers[ln]) {
var badThing = "yes";
for (var nextElement = elements[i].next();
nextElement.className != '.no'; nextElement = elements[i].next()) {
if (nextElement.innerHTML == stringObj) {
badThing = "no";
nextElement.effect('highlight', {}, 'slow');
scrollIntoView(nextElement);
}
}
if (badThing == "yes") alert("Didn't find the object");
}
}
}
}
但在Chrome浏览器中,它会出现错误:“Uncaught TypeError: Property 'highlightElement' of object[objectDOMWindow] is not a function”。
如何更改表达式使其能在Chrome中运行?谢谢。
window.highlightElements = function() { ... };
)还是仅作为函数(例如function highlightElements() { ... }
)? - Karl Nicoll