我一直在尝试使用单选按钮的onclick属性更改链接的多个属性。它不起作用。我是Javascript的新手,所以任何帮助都会非常感激。到目前为止,这是我的代码。
<input type="radio" name="test" onclick="setAttributes(document.getElementById('submit'), {"class": "first", "href": "http://www.google.com"});">First<br/>
<input type="radio" name="test" onclick="setAttributes(document.getElementById('submit'), {"class": "second", "href": "http://www.stackoverflow.com"});">Second<br/>
<a id="submit" class="" href="">Click Here</a>
<script>
function setAttributes(el, attrs) {
for(var key in attrs) {
el.setAttribute(key, attrs[key]);
}
}
</script>
答案 0 :(得分:2)
请参阅此Demo
<input type="radio" name="test" onclick="setAttributes(document.getElementById('submit'), {'class': 'first', 'href': 'http://www.google.com'});">First<br/>
<input type="radio" name="test" onclick="setAttributes(document.getElementById('submit'), {'class': 'second', 'href': 'http://www.stackoverflow.com'});">Second<br/>
<a id="submit" class="" href="">Click Here</a>
您传递的参数包含"
和'
个字符(引号)错误。
答案 1 :(得分:0)
JS代码将是
<script>
function setAttributes(el) {
for(var key=1;k<arguments.length;k++) {
el.setAttribute(arguments[k], arguments[k+1]);
k++;
}
}
</script>
和HTML将是
<input type="radio" name="test" onclick="setAttributes(document.getElementById('submit'), "class", "first", "href" "http://www.google.com");">First<br/>
答案 2 :(得分:0)
只需在onclick =&#34;中使用单个"
更改'
即可......&#34;
<input type="radio" name="test" onclick="setAttributes(document.getElementById('submit'), {'class': 'first', 'href': 'http://www.google.com'});">First<br/>
<input type="radio" name="test" onclick="setAttributes(document.getElementById('submit'), {'class': 'second', 'href': 'http://www.stackoverflow.com'});">Second<br/>
<a id="submit" class="" href="">Click Here</a>
JAVASCRIPT
function setAttributes(el, attrs) {
for(var key in attrs) {
el.setAttribute(key, attrs[key]);
}
}
<强> DEMO 强>