javascript不引人注目
我有一个html页面,它是由许多超链接组成的,像这个内体标签javascript不引人注目,javascript,html,unobtrusive-javascript,Javascript,Html,Unobtrusive Javascript,我有一个html页面,它是由许多超链接组成的,像这个内体标签 <a href="http://www.example.com/?id=313354">User Name</a> 然后我决定使用不引人注目的javascript。。。然后我想把所有的“a”标签改成 <a id="354313" href=#>User Name</a> 当我点击上面的第二个链接时,我希望它能像第一个链接那样调用函数,。。。 我的问题是如何获取body标记中的
<a href="http://www.example.com/?id=313354">User Name</a>
然后我决定使用不引人注目的javascript。。。然后我想把所有的“a”标签改成
<a id="354313" href=#>User Name</a>
当我点击上面的第二个链接时,我希望它能像第一个链接那样调用函数,。。。
我的问题是如何获取body标记中的所有“a”元素,然后根据其id应用函数。类似于:
<script language="javascript">
function myFunction(id)
{
alert(id);
}
</script>
<a id="354313" onclick="myFunction(this.id);" href="#">;User Name<;/a>
函数myFunction(id)
{
警报(id);
}
;用户名
不确定,尽管测试它:)类似于:
<script language="javascript">
function myFunction(id)
{
alert(id);
}
</script>
<a id="354313" onclick="myFunction(this.id);" href="#">;User Name<;/a>
函数myFunction(id)
{
警报(id);
}
;用户名
不确定,尽管测试它:)使用类似以下内容:
$('a').click(function() {
var id = this.getAttribute('id');
// Do something...
});
如果希望它对所有已创建的图元起作用,请使用以下命令:
$('a').live('click', function() {
var id = this.getAttribute('id');
// Do something...
});
用,类似这样的:
$('a').click(function() {
var id = this.getAttribute('id');
// Do something...
});
如果希望它对所有已创建的图元起作用,请使用以下命令:
$('a').live('click', function() {
var id = this.getAttribute('id');
// Do something...
});
我更愿意说,将类添加到您希望以这种方式处理的链接中
<a class="mylink" ... >User Name </a>
以上是您可以很好地处理而不会遇到麻烦的链接。我更愿意说,通过这种方式为您想要处理的链接添加类
<a class="mylink" ... >User Name </a>
以上是您可以很好地处理而不会遇到麻烦的链接。我希望这就是您正在尝试的
<script type='text/javascript'>
var alA = document.getElementsByTagName("a");
for(var aCounter=0;aCounter<alA.length;aCounter++) {
var singleA = alA[aCounter];
singleA.onclick = function () {
window.open = "http://www.example.com/?id="+singleA.id;
}
}
<script>
var alA=document.getElementsByTagName(“a”);
对于(var aCounter=0;aCounter我希望这就是您正在尝试的
<script type='text/javascript'>
var alA = document.getElementsByTagName("a");
for(var aCounter=0;aCounter<alA.length;aCounter++) {
var singleA = alA[aCounter];
singleA.onclick = function () {
window.open = "http://www.example.com/?id="+singleA.id;
}
}
<script>
var alA=document.getElementsByTagName(“a”);
对于(var aCounter=0;aCounter//要调用的函数
函数假(id)
{
//你的内容
}
//获取所有“a”元素并将其放入数组中
var links=window.document.getElementsByTagName(“a”);
对于(var i=0;i//要调用的函数
函数假(id)
{
//你的内容
}
//获取所有“a”元素并将其放入数组中
var links=window.document.getElementsByTagName(“a”);
对于(var i=0;i您所追求的是以下代码:
<script type="text/javascript">
window.onload = function WindowLoad() {
var arrLinks = document.getElementsByTagName("a");
for (var i = 0; i < arrLinks.length; i++) {
var oLink = arrLinks[i];
var sCurHref = oLink.href;
if (sCurHref.indexOf("?id=") >= 0) {
var ID = sCurHref.split("?id=")[1];
if (ID.length > 0) {
oLink.id = ID;
oLink.href = "#";
oLink.onclick = function() {
document.location.href = sCurHref;
return false;
}
}
}
}
}
</script>
window.onload=函数WindowLoad(){
var arrLinks=document.getElementsByTagName(“a”);
对于(var i=0;i=0){
var ID=sCurHref.split(“?ID=”)[1];
如果(ID.length>0){
oLink.id=id;
oLink.href=“#”;
oLink.onclick=函数(){
document.location.href=sCurHref;
返回false;
}
}
}
}
}
这将迭代所有链接,将可见HREF更改为“#”,并保留其功能,应用正确的ID。(尽管您没有说明该ID的用途)
您可以随意处理实时测试用例:您想要的是以下代码:
<script type="text/javascript">
window.onload = function WindowLoad() {
var arrLinks = document.getElementsByTagName("a");
for (var i = 0; i < arrLinks.length; i++) {
var oLink = arrLinks[i];
var sCurHref = oLink.href;
if (sCurHref.indexOf("?id=") >= 0) {
var ID = sCurHref.split("?id=")[1];
if (ID.length > 0) {
oLink.id = ID;
oLink.href = "#";
oLink.onclick = function() {
document.location.href = sCurHref;
return false;
}
}
}
}
}
</script>
window.onload=函数WindowLoad(){
var arrLinks=document.getElementsByTagName(“a”);
对于(var i=0;i=0){
var ID=sCurHref.split(“?ID=”)[1];
如果(ID.length>0){
oLink.id=id;
oLink.href=“#”;
oLink.onclick=函数(){
document.location.href=sCurHref;
返回false;
}
}
}
}
}
这将迭代所有链接,将可见HREF更改为“#”,并保留其功能,应用正确的ID。(尽管您没有说明该ID的用途)
请随意处理实时测试用例:不要决定使用突兀的JavaScript。这是在倒退。是的,没错……对不起,我错了……使用像jQuery这样的JavaScript库可以接受吗?这应该会让这项工作相对容易些……@Shadow Wizard:好的……我是新来的……对我的错误有很多道歉……不要决定给我们是的,没错…对不起,我错了…使用像jQuery这样的JavaScript库可以接受吗?这应该会使这项工作相对容易一些…@Shadow Wizard:好的..我是新来的..对我的错误深表歉意…我是说,如何将添加事件侦听器应用到所有的“a”标记…当我使用javascript时…这是非常突出的。他的意思是不突出(至少我希望如此)我的意思是,如何将添加事件侦听器应用于所有“a”标记…当我使用javascript时…这是非常突出的。他的意思是不突出(至少我希望如此)@Afrig:在这种情况下,看看Zaje的答案。你不使用像jQuery这样的JavaScript库,或者仅仅因为你不想这样做,有什么特别的原因吗?@Afrig:在这种情况下,看看Zaje的答案。你不使用像jQuery这样的JavaScript库,或者仅仅因为你不想这样做,有什么特别的原因吗?是的……这很有帮助我…但有时,在body标记中有两个或更多具有相同id的“a”元素…它会工作吗?..@Afrig:不应该有多个具有相同id的元素。如果是这样,请使用类。是的…这对我有帮助…但有时,在body标记中有两个或更多的“a”元素具有相同的id…它会工作吗?..@Afrig:您不应该有多个具有相同id的元素。如果是这种情况,请使用类。@Afrig正如我前面所说的,请随意接受答案。只需单击空的“V”即可在左边签名,使其变为绿色。@Afrig现在你知道了,请在你的其他问题上也这样做,永远不会太迟。@Afrig就像我之前说过的,请随意接受答案。。只需单击空的“V”即可在左边签名,使它变成绿色。@Afrig现在你知道了,请在你的其他问题上也这样做,永远不会太晚。:)