在javaScript中,abc作为一个全局变量,等同于在window对象下定义了一个abc属性。假设在一个名为function1的函数中执行了页面跳转操作,根据跳转前引入a.js文件的页面不同,会出现以下几种情况:
1. 当跳转前的页面是2.html,并且在2.html中引入了a.js文件,那么abc将被赋值为"abc"。页面跳转到1.html时,1.html页面下的window对象中并不存在abc属性,因此执行alert(abc)时会报错。
2. 当跳转前的页面是1.html,并且在1.html中引入了a.js文件,而2.html的window对象中并不存在abc属性,此时执行abc="abc"这样的操作等效于定义了一个新的全局变量abc,并将其赋值为"abc"。页面跳转到1.html后,这个操作不会影响1.html页面中window对象的abc属性,1.html页面中的abc的值仍然为初始值“”。这里需要注意的是,abc在1.html页面中的初始值可能是空字符串或其他值。
因此,在进行页面跳转和变量赋值操作时,需要特别注意引入的js文件和跳转前后页面中的变量状态,以确保代码的正确执行。
总结来说,页面跳转前后,不同页面下的全局变量状态会有所不同,因此需要根据实际情况来决定如何处理变量赋值操作,以避免出现意外的错误。
② 关于javascript改变div的id值的疑问。求帮助十分感谢!
1、JS逻辑好像有问题吧。个人认为应该这样子才没问题:
function s() {
if (sheight < 900) document.getElementsByTagName(div)[0].id = "css2";
}
2、没有getElementsById方法,document.getElementById没有s的。
3、JS能改变的,仅是当前展示的内容,刷新以后,页面已经重载了,所以会变回css1
JS 改成这样,应该能实现你要的功能:
function s(o) { if (sheight < 900) o.id= "css2";}
<div onclick="s(this)" id="css1" class="style">XXX</div>
③ 怎么用JS改变<span>标签中的值
你这样可以改变<span>中的值,此为测试页面,你的代码可以正常运行。
另外回,javascript部分我为你完善了一下答,让用户填写东西以后,"订花人不能为空"这句话变回"*"。
圈起来的部分是我添加的代码。
④ JS 改变单选框的值。radio.checked=true; 为何改变不了。没反应。
如果要使 单选框选中 需要该复选框的属性checked 的值为 "checked" 而不是 true
$("#rdo1").attr("checked","checked");
还有一点要注意的是 如果要使 复选框 变成没有选中 的话 需要移除checked 属性 或者 checked的属性为false
$("#rdo1").removeAttr("checked");
或者
$("#rdo1").attr("checked","false");
就是说 只有checked的属性 为"checked" 时 才是选中状态
还有 一组radio(即name属相相同的radio)只能有一个处于选中状态、查看一下你的其他组的radio是不是name属性设置重复了。
所以你的代码改为 $("#rdo1").attr("checked","checked"); 就可以了,下面一段简单示例代码
页面装载完成后把选项2 选中.
<html>
<scripttype="text/javascript"src="./jsfile/jquery-1.10.2.min.js"></script>
<script>
onload=function(){//装载完成时执行
alert();
$("input[name='vehicle']").eq(0).removeAttr("checked");
$("input[name='vehicle']").eq(1).attr("checked","checked");
}
</script>
<body>
<formaction="form_action.asp"method="get">
<inputtype="radio"id="rd1"name="vehicle"value="Car"/>Ihaveacar
<inputtype="radio"id="rd1"name="vehicle"value="bus"/>Ihaveabus
</form>
</body>
</html>
⑤ javascript如何通过id获取按钮,然后改变按钮的value值
如果想有一个通用的方法,首先你应该有id为(obj.id+2)的这个按钮,如果没,就会报错的!
这是解决你现在的问题
<script type="text/javascript">
function buttonchange(obj)
{
var sum=parseInt(obj.id)+2;
document.getElementById(sum).value=obj.value;
}
</script>
<input name="3" type="button" id="5" value="改变" onclick="buttonchange(this)" />
<input name="3" type="button" id="7" value="" onclick="" />
你写的obj.id+2会被认为是52,
因为obj.id被解析为字符串类型,和2相加,则会认为两个字符串相加,所以是52,学过Java你应该知道数据类型的关系的!