用js动态更改中href的值,怎么实现跳转?

JavaScript033

用js动态更改中href的值,怎么实现跳转?,第1张

使用a标签也就是使用下样式而已

既然是跳转

将a标签写成 <a href="javascript:void(0)" onclick="fun_a()" ></a>

然后fun_a写跳转事件 location.href=""

楼主,checkbox更改a的href属性,就说明有多选的情况影响url,这个url需要楼主有个预处理哦,比如

if(ck1.checked) url="?"

if(ck1.checked &&ck3.checked) url="?"

因为获取checkbox组的checked状态需要循环来处理,所以这个预定义的状态需要好好考虑如何在循环中体现,在此不做多考虑,以下给个简单的获取checkbox状态来设置a标签的href属性的小例子:

<script>

function seturl(){

var ckboxs = document.getElementsByName("ck")

var state = "000"//设置状态位,当然也可以直接要求返回所选checkbox的值,看具体情况

for(var i=0i<ckboxs.lengthi++){

if(ckboxs[i].checked) state=state.substr(0,i)+"1"+state.substr(i+1,state.length-i)

}

//再根据状态位设置a标签的href

var el_a = document.getElementById("mylink")

switch(state){

case "001":

el_a.href="http://www.baidu.com/"break

case "010":

el_a.href="http://www.baidu.com/"break

//诸多状态省略

}

}

//循环体中设置状态位只是一种方法,可以返回楼主自己想要的结果,这个需要楼主自己考虑哦

</script>

<div>

<input type="checkbox" name="ck" id="ck1" onclick="seturl()"/>1<br>

<input type="checkbox" name="ck" id="ck2" onclick="seturl()"/>2<br>

<input type="checkbox" name="ck" id="ck3" onclick="seturl()"/>3<br>

<a id="mylink" href="" >动态链接</a>

<input type="button" onclick="alert(eval('mylink').href)" value="ok"/>

//测试按钮来alert

</div>

操作方法为:$("a").attr("href","mm.html")理论上来讲,Jquery也是属于JS。像目前大家常用的ExtJS,Jquery UI ,easy UI等等,也均属于JS。原生的JS因为某些方面的功能受限,所以很多扩展的JS就出来了,像jquery。jquery的出现,大大方便了前端开发人员的。而且现在很多的扩展插件也都是基于Jquery