V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vanisher
V2EX  ›  问与答

怎么在html中用javascript的变量?

  •  
  •   vanisher · 2012-03-04 10:08:58 +08:00 · 5213 次点击
    这是一个创建于 4629 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <html>
    <head>xxx</head>
    <body>
    <script type="text/javascript">
    a=59658

    </script>

    < img src="http://www.example.com/a000" />

    </body>
    </html>

    上面的例子img src= 后面的a我想用到javascript中定义的变量a,该怎样实现?
    13 条回复    1970-01-01 08:00:00 +08:00
    ligyxy
        1
    ligyxy  
       2012-03-04 10:20:47 +08:00
    整行语句用document.write输出
    annielong
        2
    annielong  
       2012-03-04 10:22:12 +08:00
    <script language="javascript">
    a=59658;
    function changeSrc()
    {
    icon.src =a;
    }
    </script>

    <button onclick="changeSrc()">替换地址</button>
    <br>
    <img name=icon src=http://www.example.com/a000>
    ant_sz
        3
    ant_sz  
       2012-03-04 10:28:01 +08:00
    建议用jQuery
    html和js不是模板渲染语言,不像PHP那样的工作方式,你需要用JS先获取到对应的元素再修改对应属性
    lcxz
        4
    lcxz  
       2012-03-04 10:49:40 +08:00 via iPhone
    Document.write("<img src='http://*.*.*/"+a+"000' />");
    zythum
        5
    zythum  
       2012-03-04 11:09:27 +08:00
    js不是模板渲染语言 不建议用document.write写进去
    simple_plan
        6
    simple_plan  
       2012-03-04 11:20:33 +08:00
    在js里面用变量

    <script type="text/javascript">
    a=<%=var_img%>
    </script>

    < img src="http://www.example.com/<%=var_img%>" />
    vanisher
        7
    vanisher  
    OP
       2012-03-04 14:13:19 +08:00
    @simple_plan 不行啊。。
    vanisher
        8
    vanisher  
    OP
       2012-03-04 14:14:02 +08:00
    @lcxz 不行。。
    guoquan
        9
    guoquan  
       2012-03-04 14:49:02 +08:00
    我来总结一下

    @simple_plan 那样写变成啥语言了-。-

    @lcxz 的意思是
    <html>
    <head>xxx</head>
    <body>
    <script type="text/javascript">
    a=59658
    </script>
    <script type="text/javascript">
    Document.write("<img src='http://www.example.com/\"+a+"000' />");
    </script>
    </body>
    </html>

    @zythum 哥表示不建议这样写

    比较靠谱的方法看起来应该是这样
    <html>
    <head>xxx</head>
    <body onload="foo">
    <script type="text/javascript">
    //这玩意也可以写在下面
    a=59658;
    </script>

    <img id="bar" src="http://www.example.com/images/loading.gif" />

    <script type="text/javascript">
    foo = function(){
    document.getElementById('bar').src='http://www.example.com/' + a + '000';
    }
    </script>
    </body>
    </html>

    这样和@annielong 基本上是一个意思,只是他的需要按钮点击触发加载变化图片而这个是由页面加载完成触发的。

    @ant_sz 关于采用jquery可以是个option,但是中心思想跟以上代码是一样的。
    lcxz
        10
    lcxz  
       2012-03-04 18:43:21 +08:00
    @vanisher 最好还是给img标签加个ID,之后获取ID修改src属性.
    vanisher
        11
    vanisher  
    OP
       2012-03-04 19:01:51 +08:00
    @guoquan 谢谢你这么用心回复啊~~:)

    其实@lcxz 的方法是对的,我自己SB把符号搞错了=。=
    duhastmich
        12
    duhastmich  
       2012-03-04 20:44:06 +08:00
    knockout吧
    soulteary
        13
    soulteary  
       2012-03-05 00:26:12 +08:00
    同9楼,如果懒得引用jquery,document.getElementById('你的图片id').src='http://www.example.com/' + a+ '000';
    或者定义个容器,innerHTML赋值也行。传说以前用iframe传递数值,如果有兴趣,也是一种方法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1725 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 16:41 · PVG 00:41 · LAX 08:41 · JFK 11:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.