jQuery或Javascript单击功能更改或添加ID

时间:2012-02-12 05:57:44

标签: javascript jquery

是否可以通过此链接更改“mars-on-newyork”文本,这就是链接的样子:

<ul>
  <li> 
<a href="google.com/finder.php?offer=mars-on-newyork"> 
<img class="the-button-red"/> 
</a> 
  </li>
  <li> 
<a href="google.com/finder.php?offer=mars-on-newyork"> 
<img class="the-button-green"/> 
</a> 
  </li>
 <li> 
<a href="google.com/finder.php?offer=mars-on-newyork"> 
<img class="the-button-blue"/> 
</a> 
   </li>
</ul>  

此代码仅更改我的图片:

function changeIt(objName) {
 var obj = document.getElementById(objName);
 var objId = new Array();
 objId[0] = "newyork";
 objId[1] = "paris";
 objId[2] = "tokyo";
 var i;
 var tempObj;
for (i = 0; i < objId.length; i++) {
    if (objName == objId[i]) {
        obj.style.display = "block";
    } else {
        tempObj = document.getElementById(objId[i]);
        tempObj.style.display = "none";
      }
  }
  return;
}

以下是java脚本仅更改图片的其余html:

<div id="newyork">
 <a href="#"> 
   <img src="newyork.jpg"/> 
</a>
</div> 

<div id="paris" style="display:none">
<img src="paris.jpg" border="0" alt="one"/>
</div> 
<div id="tokyo" style="display:none">
<img src="tokyo.jpg" border="0" alt="two" />
</div> 

<div style="display:none;">
<a id="one" href="#" onclick="changeIt('newyork');"><img src="newyork.jpg" border="0"      alt="one"/></a> 
</div> 

<div>
<a id="one" href="#" onclick="changeIt('paris');"><img src="paris.jpg" border="0" alt="one"/></a> 
</div> 

<div>
<a id="two" href="#" onclick="changeIt('tokyo');"><img src="tokyo.jpg" border="0" alt="two"/></a> 
</div>  

如果我点击      <a id="one" href="#" onclick="changeIt('paris');"><img src="paris.jpg" border="0" alt="one"/></a>

我希望ul上的链接中的文字可以改变:

href =“google.com/finder.php?offer=mars-on-newyork

到此:

href =“google.com/finder.php?offer=mars-on-paris

如果我点击
  <a id="one" href="#" onclick="changeIt('tokyo');"><img src="paris.jpg" border="0" alt="one"/></a>

它将其更改为 href =“google.com/finder.php?offer=mars-on-tokyo

我希望java脚本像它一样工作,它如何更改图像,但我也希望利用单击来更改文本。

谢谢!


我现在看到它是怎么回事,我想我的帖子不够好,不能引起你的兴趣,我想我必须付一个自由职业者来帮助我,谢谢你们的时间和帮助吧! / p>

2 个答案:

答案 0 :(得分:2)

快速回答“是否可以在链接中添加或更改ID?”:

$('#link').attr('id', 'yourNewId'); // Change id

快速解决方案“我还想要的不仅仅是改变图像,还要改变身份或链接

$('#link').attr('href', 'yourNewUrl'); // Change link

答案 1 :(得分:0)

我发现你有点难以理解你想要做什么,但是......

  

我还想要的不只是改变图像,而是改变ul列表中的id或链接,例如

好的,要更改链接,即ul列表中所有锚元素的href属性,假设URL具有固定格式,我们可以替换最后一个“ - ”之后的任何内容:< / p>

// assume objName = "paris" or whatever

$("ul a").attr("href", function(i, oldVal) {
   return oldVal.substr(0, oldVal.lastIndexOf("-") + 1) + objName;
});

如果你传递.attr() method一个回调函数,它将为每个元素调用该函数并将函数传递给当前值 - 然后返回新值。

有问题的元素目前似乎没有id,所以我不确定你想要改变它的意思。