替换href属性onclick
Replace href attribute onclick
当用户单击链接时,我试图修改href
属性。我正在使用一个名为stylesheetswitcher的脚本来切换CSS样式,并希望在单击一个链接时在2种样式之间跳转。
链接HTML:
<a href="javascript:chooseStyle('style1')"">switch style</a>
我希望href
更改为"style2"时点击
更新后的答案:
谢谢你澄清你的要求。
正如在styleswitcher JS页面上提到的,你只需要做几件事就可以让它工作:
你需要将title
属性分配给你的<link>
标签在你的头
假设您有以下样式表链接:
<link rel="stylesheet" href="css/style1.css">
<link rel="alternate stylesheet" href="css/style2.css">
需要通过添加title
属性来标记它们,如下所示:
<link rel="stylesheet" href="css/style1.css" title="style1">
<link rel="alternate stylesheet" href="css/style2.css" title="style2">
自己写一个样式交换函数
function swapStyles () {
if ( this.getAttribute('data-active-style').value === 'style1' ) {
// Switch styles
chooseStyle('style2',30);
// Set the active style
this.setAttribute('data-active-style','style2');
} else {
// Switch styles
chooseStyle('style1',30);
// Set the active style
this.setAttribute('data-active-style','style1');
}
return this;
}
为<a>
添加一个事件监听器
你可以使用HTML onclick
属性
<a href="javascript:;" onclick="swapStyles()">switch styles</a>
或者,你可以在Javascript中添加一个事件监听器:
document.querySelectorAll('a')[0].addEventListener('click', function () {
swapStyles();
}, true);
检查这个提琴
最好创建一个像这样的切换函数:
function toggleStyle () {
if ( this.className.indexOf('style1') > -1 )
this.className = 'style2';
else
this.className = 'style1';
}
此外,您应该将该Javascript从href
属性中取出。相反,在Javascript中添加一个事件侦听器:
function toggleStyle () {
if ( this.className.indexOf('style1') > -1 )
this.className = 'style2';
else
this.className = 'style1';
}
// Wait for window to load
window.onload = function () {
// Add event listener
document.querySelectorAll('a')[0].addEventListener('click', toggleStyle, true);
};
相关文章:
- 如何通过它瞄准javascript元素's的onclick属性
- 如何在循环中设置onclick属性
- 具有多个功能的Onclick属性
- 使用 javascript 禁用 onclick 属性
- 在单击onclick属性后的按钮时执行f:setPropertyActionListener
- 如何在Rails表单标记中获取onclick属性
- 在django帮助文本字段中放置带有onClick属性的链接
- 创建选项onClick属性
- $(this) 在 onclick 属性中不起作用
- 如何在asp.net图像控件中使用OnClick属性来制作图像库
- 将.onclick属性中的文本替换为javascript
- 我可以't获取单选按钮上的onclick属性以执行javascript函数
- 为什么onclick属性不起作用
- 来自jquery的.append中img标记中的onclick属性
- javascript函数和html onclick属性
- 未调用通过 onclick 属性分配的处理程序
- onclick属性的引号过多的问题 - jQuery,HTML
- 使用 ajax 更改 onClick 属性不会触发新事件
- 在 onClick 属性中声明变量,并在 onClick 中使用多个命令
- 在输入表单标记中使用 onclick 属性时出现 JavaScript 未捕获的引用错误