我想要的是一个超链接更多点击时运行一些javascript函数,并更改为超链接更少。继承人我所拥有的不起作用。它运行ajaxpage函数很好,但不是更多。我认为我在javascript中使用了“和”。
<script type="text/javascript">
function moreToLess(){
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=20', 'tagcloud');lessToMore()" >Less</a>';
}
function lessToMore(){
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess()" >More</a>';
}
</script>
<span id=tagLinks ><a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess()" >More</a></span>
答案 0 :(得分:3)
是的,只是在您的javascript中的双引号内转义单引号.. ala \'
<script type="text/javascript">
function moreToLess(){
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>';
}
function lessToMore(){
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=50\', \'tagcloud\');moreToLess()" >More</a>';
}
</script>
<span id=tagLinks ><a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess()" >More</a></span>
答案 1 :(得分:3)
您必须转义引号内的'
个字符:
'<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>'
答案 2 :(得分:3)
我不确定是否还有其他错误,但我认为你需要摆脱其他单引号内的单引号:
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>\';
答案 3 :(得分:3)
这确实是一个引用问题,您可以使用\ character
来转义'字符'<script type="text/javascript">
function moreToLess(){
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>';
}
function lessToMore(){
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=50\', \'tagcloud\');moreToLess()" >More</a>';
}
</script>
<span id=tagLinks ><a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess()
答案 4 :(得分:0)
这种混乱是为什么innerHTML并不总是一个胜利。你已经嵌入了嵌入在更多HTML中的JavaScript字符串文字嵌入的HTML中的JavaScript,难怪你很困惑。
这是一个更简单的版本,基于通过DOM方法切换链接。
<a id="tagLinks" href="/TagCloud?id=EDI_0009&count=50">more...</a>
<script type="text/javascript">
var ismore= false;
document.getElementById('tagLinks').onclick= function() {
ajaxpage(this.href);
ismore= !ismore;
this.href= '/TagCloud?id=EDI_0009&count='+(ismore? 20 : 50);
this.firstChild.data= ismore? 'less...' : 'more...';
return false;
};
</script>