vanisher
V2EX  ›  问与答

怎么在html中用javascript的变量?

  •  
  •   vanisher · Mar 4, 2012 · 6093 views
    This topic created in 5360 days ago, the information mentioned may be changed or developed.
    <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 replies  •  1970-01-01 08:00:00 +08:00
    ligyxy
    ligyxy
    Mar 4, 2012
    1
    整行语句用document.write输出
    annielong
    annielong
    Mar 4, 2012
    2
    <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
    ant_sz
    Mar 4, 2012
    3
    建议用jQuery
    html和js不是模板渲染语言,不像PHP那样的工作方式,你需要用JS先获取到对应的元素再修改对应属性
    lcxz
    lcxz
    Mar 4, 2012 via iPhone
    4
    Document.write("<img src='http://*.*.*/"+a+"000' />");
    zythum
    zythum
    Mar 4, 2012
    5
    js不是模板渲染语言 不建议用document.write写进去
    simple_plan
    simple_plan
    Mar 4, 2012
    6
    在js里面用变量

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

    < img src="http://www.example.com/<%=var_img%>" />
    vanisher
    vanisher
    OP
    Mar 4, 2012
    7
    @simple_plan 不行啊。。
    vanisher
    vanisher
    OP
    Mar 4, 2012
    8
    @lcxz 不行。。
    guoquan
    guoquan
    Mar 4, 2012
    9
    我来总结一下

    @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
    lcxz
    Mar 4, 2012
    10
    @vanisher 最好还是给img标签加个ID,之后获取ID修改src属性.
    vanisher
    vanisher
    OP
    Mar 4, 2012
    11
    @guoquan 谢谢你这么用心回复啊~~:)

    其实@lcxz 的方法是对的,我自己SB把符号搞错了=。=
    duhastmich
    duhastmich
    Mar 4, 2012
    12
    knockout吧
    soulteary
    soulteary
    Mar 5, 2012
    13
    同9楼,如果懒得引用jquery,document.getElementById('你的图片id').src='http://www.example.com/' + a+ '000';
    或者定义个容器,innerHTML赋值也行。传说以前用iframe传递数值,如果有兴趣,也是一种方法。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5585 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 03:30 · PVG 11:30 · LAX 19:30 · JFK 22:30
    ♥ Do have faith in what you're doing.