Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript不引人注目_Javascript_Html_Unobtrusive Javascript - Fatal编程技术网

javascript不引人注目

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标记中的

我有一个html页面,它是由许多超链接组成的,像这个内体标签

<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现在你知道了,请在你的其他问题上也这样做,永远不会太晚。:)