javascript onclick函数参数字符串与空格

时间:2017-02-02 10:46:23

标签: javascript

我的网页上有四个标签:

“关于”和“联系人”选项卡的onclick功能正常工作,因为没有空格,但对于前2个onclick jscript调用不起作用, 请帮忙。

<div id="TopHalf">
<ul id="menu" >
<li><a  id="Donate" onclick=GetClick(\"+'Donate space'+\");>Donate blood</a></li>
<li><a  id="PickUp" onclick=GetClick("PickUp space");>PickUp blood </a></li>
<li><a  id="Contact"    onclick=GetClick("Contact");>Contact</a></li>
<li><a  id="About"  onclick=GetClick("About");  >About</a></li>
</ul>
</div>


enter code here

1 个答案:

答案 0 :(得分:0)

确保属性引用不与JavaScript字符串引号冲突或通过转义是一个问题。这应该有效:

onclick="GetClick('Donate blood');"

更好的是,摆脱凌乱的内联事件并将它们集中注册到外部JS文件中。

HTML

<ul class='my_links'> <!-- <== note parent class -->
    <li><a id="Donate">Donate blood</a></li>
    <li><a id="PickUp">PickUp blood </a></li>
    <li><a id="Contact">Contact</a></li>
    <li><a id="About">About</a></li>
</ul>

JS

document.querySelector('.my_links').addEventListener('click', function(evt) {
    if (evt.target.tagName != 'A') return false; //listen for clicks to links only
    GetClick(evt.target.id); //passes ID identifier to your function, e.g. 'Donate'
}, false);