使用JavaScript更改锚链接属性的一部分

时间:2011-07-21 16:33:40

标签: javascript html href

单击正确的单选按钮时,我正在尝试更改URL的中间部分。

在三个购买链接中,每个链接代表一个金额。我将选择一只动物然后点击我要花费的3个量中的一个。我如何更改所有3个网址的一部分?

我怎么能这样做?这些是单选按钮(使用JavaScript):

<input type="radio" name="orderID" 
    value="-DOL&linkID=naib&url=https%3A//example.com/List%3FlinkID%3Dnaib"
    onclick="document.getElementById('editBTN').href=this.value">
    Dolphin
</input>
<input type="radio" name="orderID" 
    value="-SHK&linkID=naib&url=https%3A//example.com/List%3FlinkID%3Dnaib"
    onclick="document.getElementById('editBTN').href=""+this.value">
    Shark
</input>

购买链接(250美元,100美元和50美元):

<a id="editBTN" href="http://example.com/Info?ticketCode=%XX%3A%Q250">Purchase</a>
<a id="editBTN" href="http://example.com/Info?ticketCode=%XX%3A%Q100">Purchase</a>
<a id="editBTN" href="http://example.com/Info?ticketCode=%XX%3A%Q50">Purchase</a>

DOL部分是唯一需要改变的部分。

5 个答案:

答案 0 :(得分:2)

如果您要将按钮上的Id重命名为唯一,请创建一个功能:

<script type="text/javascript">
    function setAnimal(obj) {
        var baseURL="http://ev8.evenue.net/cgi-bin/ncommerce3/SEGetEventInfo?ticketCode=%3ANAIB%3A%3AAQ";
        document.getElementById('editBTN1').href=baseURL+"250&"+obj.value;
        document.getElementById('editBTN2').href=baseURL+"100&"+obj.value;
        document.getElementById('editBTN3').href=baseURL+"50&"+obj.value;
    }
</script>

然后,在单选按钮上执行:

onclick="setAnimal(this);"

答案 1 :(得分:1)

onclick="document.getElementById('editBTN').href='http://ev8.evenue.net/cgi-bin/ncommerce3/SEGetEventInfo?ticketCode=%3ANAIB%3A%3AAQ250'+this.value;"

答案 2 :(得分:0)

没有中间部分,使用正则表达式来剪切字符串并使用您想要的字符串。改变它很容易:

var edBTN = getElementById('editBTN');
edBTN.setAttribute('href', mynewurl);

答案 3 :(得分:0)

使用jquery或其他dom解析库这应该是可能的。

if ( /* radio selected */ ) {

    // Go get your src attrib
    var src = jQuery( 'selectorforanchortag' ).attr('src');
    // Manipulate the src however you need using javascript string methods
    src = src.blergetyblerg();
    // Put your new src back where orig was
    jQuery( 'selectorforanchortag' ).attr('src');

}

答案 4 :(得分:0)

onclick="javascript:document.getElementById('editBTN').href=this.value">