如何使用单选按钮更改链接的多个属性?

时间:2014-05-16 05:20:58

标签: javascript

我一直在尝试使用单选按钮的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>

3 个答案:

答案 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