为了账号安全,请及时绑定邮箱和手机立即绑定

怎么用js来修改href属性的值

怎么用js来修改href属性的值,暂时没学jq

正在回答

6 回答

修改了其中一段,见注释

function restoreMessage(){
    var oldnode=document.getElementById("oldnode");
    var newnode=document.createElement("b");
    newnode.id="oldnode"                       //增加一个id,否则后面点击取不了值
    newnode.innerHTML=oldnode.innerHTML;
    oldnode.parentNode.replaceChild(newnode,oldnode);

    var olda=document.getElementById("hah"); 
    olda.innerHTML="将加粗改为斜体";
    olda.setAttribute("href","javascript:replaceMessage()");   //这样写要加上javascript:
}


0 回复 有任何疑惑可以回复我~

匹配myemailis也可以,但是直接匹配email规则已经可以满足通用需求。

0 回复 有任何疑惑可以回复我~

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>



  <div><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>

  <a href="javascript:replaceMessage()" id="hah"> 将加粗改为斜体</a>

  

    <script type="text/javascript">

      function replaceMessage(){

        var oldnode=document.getElementById("oldnode");

        var newnode=document.createElement("i");

        newnode.innerHTML=oldnode.innerHTML;

        oldnode.parentNode.replaceChild(newnode,oldnode);

   

        var olda=document.getElementById("hah");  //

        olda.innerHTML="将斜体改为加粗";

        //olda.href = olda.href.replace("replaceMessage()", "restoreMessage()");

        olda.setAttribute("href","restoreMessage()");

       } 

       function restoreMessage(){

        var oldnode=document.getElementById("oldnode");

        var newnode=document.createElement("b");

        newnode.innerHTML=oldnode.innerHTML;

        oldnode.parentNode.replaceChild(newnode,oldnode);

        

        var olda=document.getElementById("hah");  //

        olda.innerHTML="将加粗改为斜体";

        //olda.href = olda.href.replace("restoreMessage()", "replaceMessage()");

        olda.setAttribute("href","replaceMessage()");

       }  

  </script>

  

 </body>

</html>


0 回复 有任何疑惑可以回复我~
在console上面写的,就这个页面
document.getElementsByTagName("div")[0].setAttribute("href","hello")
//undefined
document.getElementsByTagName("div")[0]
//<div id="header" href="hello">…</div>


0 回复 有任何疑惑可以回复我~

href.replace(/default/, "test")不会改变href本身,返回值才是处理后的结果

例:

<head>
<link media="screen" type="text/css" href="default/style.css" rel="stylesheet"/>
</head>
<body>
<div>
<script>
window.onload = function(){
var link = document.getElementsByTagName("link")[0];
link.href = link.href.replace("/default/", "/test/");
alert(document.getElementsByTagName("link")[0].href);
}
</script>
</div>
</body>

0 回复 有任何疑惑可以回复我~

XXX.setAttribute("href","xxx")或者XXX.href="xxx"

0 回复 有任何疑惑可以回复我~
#1

ohitisme 提问者

我用这个函数好像不起作用
2016-11-08 回复 有任何疑惑可以回复我~
#2

stone310 回复 ohitisme 提问者

发下代码看看
2016-11-08 回复 有任何疑惑可以回复我~
#3

ohitisme 提问者 回复 stone310

代码在下面
2016-11-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

怎么用js来修改href属性的值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信