如何交换CSS -无法获得元素样式表[objecthtmllinkelement]
How to swap CSS - Cannot get element stylesheet [object HTMLLinkElement]
我有一个JS函数,应该得到一个样式表元素的CSS交换。当在IPHONE或桌面版Chrome和Safari上运行页面时,我能够成功地交换css。
我的问题是在Android浏览器
if (a.getAttribute("rel").indexOf("style") != -1) {
从我的代码返回FALSE
似乎在
Android Web Browser a.getAttribute("rel))" : stylesheet
元素不存在。
知道为什么这种行为和如何解决它吗?
// Swap CSS
changeStyle: function(state) {
var i, a, url, i = 0;
for (i; (a = document.getElementsByTagName("link")[i]); i++) {
if (a.getAttribute("rel").indexOf("style") != -1) {
url = a.href;
if (state == 'accessible') {
a.href = 'resources/css/app-accesibility.css';;
}
else if (state == 'normal') {
a.href = 'resources/css/app.css';
}
}
}
}
可能是其他链接元素被添加到android的头部,通过插件或其他东西。在访问rel
属性之前,请确保它存在:
if (a.getAttribute("rel") && a.getAttribute("rel").indexOf("style") != -1) {
相关文章:
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- .clone().appendTo-替换不起作用的元素样式
- 使用JavaScript更改带有窗口高度的元素样式
- Javascript重置元素样式
- 取消:活动元素样式
- 什么是最好的表单元素样式库/插件(jQuery)
- 更改页面滚动上的元素样式
- 动态更新数百万个 DOM 元素样式的最快方法
- 覆盖元素.样式表.css文本
- 在禁用 JavaScript 时添加元素样式
- 确定所有屏幕尺寸的元素样式
- 设置 HEAD 元素样式以将其用作数据存储
- 如何使用带有 % 符号值的 ERB 和 JQuery 修改元素样式属性
- asp.net 高度属性的元素样式问题
- 如何覆盖元素样式,使其无法更改
- 如何使用ng样式单击时更新元素样式
- 使用 jQuery 更新 HTML 元素样式参数值
- 将鼠标悬停在另一个元素上时更改元素样式
- 如何将加载到<对象>中的元素样式设置为数据
- 在jQuery UI对话框中设置元素样式