我正在使用diapo滑块,除了Internet Explorer 8之外,它似乎适用于所有其他浏览器.
在调试模式下运行ie8后,我收到以下错误:
SCRIPT438:Object不支持属性或方法'getElementsByClassName'prototype.js,5988行5
return function(className, parentElement) {
return $(parentElement || document.body).getElementsByClassName(className);
};
Run Code Online (Sandbox Code Playgroud)
SCRIPT438:Object不支持属性或方法'fireEvent'prototype.js,第5736行第7行
if (document.createEvent)
element.dispatchEvent(event);
else
element.fireEvent(event.eventType, event);
return Event.extend(event);
Run Code Online (Sandbox Code Playgroud)
我在magento平台上运行这个滑块,看起来那个原型脚本有问题.它使用的原型版本是1.7,因此排除了脚本更新的可能修复.
注意:虽然,我在ie9中没有显示问题,但是我收到以下错误:
SCRIPT438:Object不支持属性或方法'dispatchEvent'prototype.js,第5734行character 7
if (document.createEvent)
element.dispatchEvent(event);
else
element.fireEvent(event.eventType, event);
return Event.extend(event);
Run Code Online (Sandbox Code Playgroud)
这些是diapo滑块工作所需的脚本,在头文件中加载了脚本标记.我不确定,但是这些脚本中的一些可能与现有脚本冲突:
<script type='text/javascript' src='http://www.pixedelic.com/plugins/diapo/scripts/jquery.min.js'></script>
<script type='text/javascript' src='http://www.pixedelic.com/plugins/diapo/jquery.mobile-1.0rc2.customized.min.js'></script>
<script type='text/javascript' src='http://www.pixedelic.com/plugins/diapo/jquery.easing.1.3.js'></script>
<script type='text/javascript' src='http://www.pixedelic.com/plugins/diapo/jquery.hoverIntent.minified.js'></script>
<script type='text/javascript' src='http://www.pixedelic.com/plugins/diapo/scripts/diapo.js'></script>
Run Code Online (Sandbox Code Playgroud) 首先,我正在学习JS,在我知道所有需要之前不会使用库.
http://www.tombarrasso.com/search/
有了这个说,为什么我的代码不能在<IE 7,Firefox <3等中工作?Safari 4非常完美,Firefox 3.5非常棒等等.我正在使用Robert Nyman的函数getElementsByClassName.
它在OS X上的IE 6中没有产生任何错误(通过Wine).Ajax请求很好,但是应该有一个id ="one"和class ="scroller"的初始div,但是没有.我对此感到非常沮丧.
谢谢,
我正在尝试使用纯 JavaScript 选择父元素的第一个子元素并更改其中的一些 CSS 属性。我试过.firstChild和.childNodes[1]方法,但他们不这样做的工作。这可以用 CSSnth-child()选择器来完成,但我想用 JavaScript 来完成,以获得更好的浏览器支持。
例子:
HTML
<div class="daddy">
<div class="child">I want select this child and change it's css property.</div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我试过的:
JavaScript
var x = document.getElementsByClassName('daddy');
var d = x.firstChild; // and the x.childNodes[1]
d.style.width="5em";
Run Code Online (Sandbox Code Playgroud)
什么工作:
CSS
daddy:nth-child(1) { width: 5em; }
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
下午好,
让我首先说,我看到很多关于这个主题的帖子,并且包含/尝试了很多它们来解决我的问题.
现在问题是,我试图找出可用的几个浏览器的兼容性模式.我和Iexplorer挣扎,差不多每个版本..
我尝试的所有东西,在几种脚本上都不能在浏览器中工作,而在其他所有脚本中都可以.
我遇到的主要问题是getElemtsByClassName.例如:
var tag = window.document.getElementsByClassName("kat");
Run Code Online (Sandbox Code Playgroud)
它始终返回:Object不支持属性或方法'getElementsByClassName'.
我已经在网上看到了这个问题,也在这里,是否有人绕过这个问题有一些信息?尝试了一些东西,喜欢把它改成:
var tag = window.getElementsByClassName("kat");
Run Code Online (Sandbox Code Playgroud)
要么
var tag = getElementsByClassName("kat");
Run Code Online (Sandbox Code Playgroud)
但是,我猜我在错误的方向思考..有人可以给我一个提示或链接阅读如何解决这样的事情?
这是我通常使用的标题,我读过这应该解决很多问题:
<!doctype html>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Run Code Online (Sandbox Code Playgroud)
作为我的一个例子:
function insDiv() {
var tag = window.document.getElementsByClassName("kat"), total = 0;
for (var i in tag)
{
total += tag[i].checked && !isNaN(Number(tag[i].value)) ? Number(tag[i].value) : 0;
}
window.document.getElementById("insDiv").innerHTML = 'Kat: ' + total.toFixed(2);
}
Run Code Online (Sandbox Code Playgroud)
它在chrome/firefox /等中完美运行.只是不在Iexplorer.
我试图获得一些类别为"特殊"的元素.我在网上找到了以下脚本,但它只返回一个空数组.
有谁看到什么是错的?
getElementsByClassName = function (node, classname){
var a = [],
re = new RegExp('\b' + classname + '\b'),
els = node.getElementsByTagName("*"),
l = els.length,
i;
for (i = 0; i < l; i += 1) {
if (re.test(els[i].className)) {
a.push(els[i]);
}
}
console.log(a)
return a;
}
var wrap = document.getElementById('wrap');
getElementsByClassName(wrap, 'special')
Run Code Online (Sandbox Code Playgroud)
wrap包含22 <p class="special">Lorem</p>个子节点,最后一个是,并且在firebug中我一直向下找到具有classname的节点,但随后它跳转a.push.我迷路了!
编辑: 好的,所以它现在可以工作,虽然知道为什么console.log(a)返回一个空数组仍然会很有趣