请问:下面代码运行并点击后,为什么看不到输出:我的天啊。而如果超链接href属性值为:#,则一切正常。这是为什么。是执行顺序的问题吗?<html>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
}
</script>
</head>
<body>
<a id="a1" href="a.php?m=bian" onclick="q()">点击我会有变化啊。</a>
</body>
</html>
<?php
echo $_GET['m'];
?>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
}
</script>
</head>
<body>
<a id="a1" href="a.php?m=bian" onclick="q()">点击我会有变化啊。</a>
</body>
</html>
<?php
echo $_GET['m'];
?>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
}
</script>
</head>
<body>
<a id="a1" href="a.php?m=bian" onclick="q();return ture;">点击我会有变化啊。</a>
</body>
</html>
<?php
echo $_GET['m'];
?>
<html>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
return true;
}
</script>
</head>
<body>
<a id="a1" href="a.php?m=bian" onclick="q()" target="_blank">点击我会有变化啊。</a>
</body>
</html>
这里的 onclick="q();return ture;"改成onclick="q();return false;" 页面也不会重定向了
{
document.getElementById('a1').innerHTML = '我的天啊';
return false;
}这个return false你可以理解为php的die,也就是程序执行到这里之后结束了,不再进行下去了, 也就是说跳转到href去的这个process不会被执行了.你要同时输出我的天啊和bian,其实是不太可能的,你要显示bian,页面必然跳转,跳转后js 的东西自然没有了.为什么不把bian作为a的id,而a1作为class呢?比如
<a class="a1" id="bian" href="#" onclick="q();return false;">点击我会有变化啊。</a>function q(){
var m = document.getElementByClass('a1').id; //不确定是不是这样写,类似jquery的 $(".a1").attr("id");
document.getElementByClass('a1').innerHTML = '我的天啊';
document.getElementById('show').innerHTML = m; //将bian显示到id为show的div里
return false;
}
然后在页面里做一个 id为show的div用来显示bian就行了
代码,不确定是不是对的,一直用jquery,纯js没怎么写过,但是思路就是这样了.
if ($_GET[m]){
echo "<span>我的天啊".$_GET[m]."</span>";
}else {
echo "<a id='a1' href='a.php?m=bian'>点击我会有变化啊。</a>";
}
?>有点想不通 为什么你要做这种效果 ,实现的办法好多的啊 php 或纯js
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';return false;
}
</script>
</head>
<body>
<a id="a1" href="a.php?m=bian" onclick="return q();">点击我会有变化啊。</a>
</body>
</html>
<?php
echo $_GET['m'];
?>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
return false;
}
</script>
</head>
<body>
<a id="a1" href="test.php?m=bian" onclick="return q();">点击我会有变化啊。</a>
</body>
</html>
<?php
echo $_GET['m'];
?>这是楼上的代码,你们自已真正的试过了吗?还是想当然。根本达不到预期的效果。
以下代码点击后的效果是:我的天啊。
我需要的效果是:我的天啊 bian<html>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
return false;
}
</script>
</head>
<body>
<a id="a1" href="test.php?m=bian" onclick="return q();">点击我会有变化啊。</a>
</body>
</html>
<?php
echo $_GET['m'];
?>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
}
</script>
</head>
<body>
<a id="a1" href="a.php?m=bian" onmousedown="q()">点击我会有变化啊。</a>
</body>
</html>
<?php
if(isset($_GET['m']))echo $_GET['m'];
?>
1.显示我的天啊后跳转
2.显示我的天啊后不跳转
3.不显示我天啊但跳转其实楼主的代码两个都执行了,只不过onclink执行后紧接着就执行href了而已