如何在<a> tag</a>中编写javascript代码

时间:2012-10-09 11:35:57

标签: javascript jquery

我有一个javascript变量soucreID,让我们说

sourceID = 10;

sourceID是动态值并且始终更改,因此我希望将其传递给以下标记

<a href="edit-source.php?source=<script>document.write(sourceID)</script>">Edit</a>

但它不起作用,

任何人都可以告诉我如何在<a href="">标签中编写javascript值。

先谢谢。

3 个答案:

答案 0 :(得分:2)

使用jQuery,你可以这样做:

<a href="edit-source.php" class="edit-btn">Edit</a>
var id = 10;
var href = $(".edit-btn").prop("href");
$(".edit-btn").prop("href", href + "?source=" + id);

我假设在呈现代码之前你不知道id,否则这是没有实际意义的。

答案 1 :(得分:1)

在Plain JS中你可以做到

<script>
var souceID="somesource"; // this is of course assumed
document.write('<a href="edit-source.php?source='+sourceID+'">Edit</a>')
</script>

OR

<a href="#" onclick="this.href='edit-source.php?source='+sourceID">Edit</a>

使用OP评论中的代码:

<div id="popuppage" data-role="popup" data-overlay-theme="a" style="max-width:250px;">    
  <ul data-role="listview" data-inset="true" data-dividertheme="d" data-theme="c" style="min-width:210px;"> 
    <li data-icon="gear" class="cust-popuplist" id="popupSourceID"> 
       <a href="#"
       onclick="
         this.href='edit-source.php?source='+
           encodeURIComponent(document.getElementById('srcvalue').value);
       ">Edit</a> 
       <input type="hidden" name="srcvalue" id="srcvalue" value="somevalue"> 
    </li> 
   </ul> 
</div>

或者这个怎​​么样:根本不需要JS

<form action="edit-source.php">
<input type="hidden" name="source" value="<?php echo $srcvalue; ?>" />
<input type="submit" value="Edit" />
</form>

答案 2 :(得分:0)

您不能将标记放在属性值中。

这是一个丑陋的解决方案。而且,这将通过在页面首次加载时转储变量来实现。如果你有变量然后你可以使用PHP来插入它。

我猜你想要响应用户输入,所以应该将变量添加到链接中。您需要一种完全不同的方法,在适当的时候设置整个href属性。