Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 为每个实例更改jquery变量它';在一页上使用_Javascript_Jquery - Fatal编程技术网

Javascript 为每个实例更改jquery变量它';在一页上使用

Javascript 为每个实例更改jquery变量它';在一页上使用,javascript,jquery,Javascript,Jquery,我正在设置一个页面,该页面具有指向不同文档的多个链接。由于链接的名称与它们链接到的文档相匹配,我想我应该编写一个脚本,该脚本采用带下划线的任何内容的内部html,并在其周围生成一个链接标记,并在链接中输入每个特定的链接名称 我编写的脚本运行良好,只是它只运行一次,并使用一个相同的链接更新所有链接。有没有一种方法可以让我针对每个实例分别进行更改 对不起,如果我的解释被破坏了 这是我目前的代码: <u>Link1</u> <u>Link2</u> &

我正在设置一个页面,该页面具有指向不同文档的多个链接。由于链接的名称与它们链接到的文档相匹配,我想我应该编写一个脚本,该脚本采用带下划线的任何内容的内部html,并在其周围生成一个链接标记,并在链接中输入每个特定的链接名称

我编写的脚本运行良好,只是它只运行一次,并使用一个相同的链接更新所有链接。有没有一种方法可以让我针对每个实例分别进行更改

对不起,如果我的解释被破坏了

这是我目前的代码:

<u>Link1</u>
<u>Link2</u>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

<script>
innerU = $("u").html();
$("u").html("<a href=mywebsite.com/" + innerU + ".pdf>" + innerU + "</a>");
</script>
Link1
链接2
innerU=$(“u”).html();
$(“u”).html(“”);
您可以使用jQuery对页面中的每个
元素应用所需的转换。大概是这样的:

$("u").each(function() {
    var innerU = $(this).html();
    $(this).html("<a href='mywebsite.com/" + innerU + ".pdf'>" + innerU + "</a>");
});
$(“u”)。每个(函数(){
var innerU=$(this.html();
$(this.html(“”);
});
编辑:在href值周围添加引号以生成有效的HTML。感谢您的注意。

您可以使用jQuery对页面中的每个
元素应用所需的转换。大概是这样的:

$("u").each(function() {
    var innerU = $(this).html();
    $(this).html("<a href='mywebsite.com/" + innerU + ".pdf'>" + innerU + "</a>");
});
$(“u”)。每个(函数(){
var innerU=$(this.html();
$(this.html(“”);
});

编辑:在href值周围添加引号以生成有效的HTML。感谢您的关注。

这应该可以解决问题

$("u").each(function () {

    var innerU = $(this).html();
    $(this).html("<a href=mywebsite.com/" + innerU + ".pdf>" + innerU + "</a>");

});
$(“u”)。每个(函数(){
var innerU=$(this.html();
$(this.html(“”);
});
虽然,你的代码有很多“错误”。例如,使用
标记生成链接?为什么不直接使用anhors并动态设置其href属性,如下所示:

<a href="#" class='coollink'>Link1</a>
<a href="#" class='coollink'>Link2</a>

<script>
$("a.coollink").each(function () {
    $(this).attr("href", "//mywebsite.com/" + $(this).html() + ".pdf");
});
</script>

$(“a.coollink”)。每个(函数(){
$(this.attr(“href”,“//mywebsite.com/”+$(this.html()+”.pdf”);
});

这应该可以做到

$("u").each(function () {

    var innerU = $(this).html();
    $(this).html("<a href=mywebsite.com/" + innerU + ".pdf>" + innerU + "</a>");

});
$(“u”)。每个(函数(){
var innerU=$(this.html();
$(this.html(“”);
});
虽然,你的代码有很多“错误”。例如,使用
标记生成链接?为什么不直接使用anhors并动态设置其href属性,如下所示:

<a href="#" class='coollink'>Link1</a>
<a href="#" class='coollink'>Link2</a>

<script>
$("a.coollink").each(function () {
    $(this).attr("href", "//mywebsite.com/" + $(this).html() + ".pdf");
});
</script>

$(“a.coollink”)。每个(函数(){
$(this.attr(“href”,“//mywebsite.com/”+$(this.html()+”.pdf”);
});
试试这个:

(function() { // create a closure to avoid leaking variables
   var tags = document.getElementsByTagName("u"), l = tags.length, i, t, a;
   for( i=0; i<l; i++) {
      a = document.createElement('a');
      a.href = "http://mywebsite.com/"+tags[i].firstChild.nodeValue+".pdf";
      a.appendChild(tags[i].firstChild);
      tags[i].appendChild(a);
   }
})();
(function(){//创建一个闭包以避免变量泄漏
var tags=document.getElementsByTagName(“u”),l=tags.length,i,t,a;
对于(i=0;i请尝试以下方法:

(function() { // create a closure to avoid leaking variables
   var tags = document.getElementsByTagName("u"), l = tags.length, i, t, a;
   for( i=0; i<l; i++) {
      a = document.createElement('a');
      a.href = "http://mywebsite.com/"+tags[i].firstChild.nodeValue+".pdf";
      a.appendChild(tags[i].firstChild);
      tags[i].appendChild(a);
   }
})();
(function(){//创建一个闭包以避免变量泄漏
var tags=document.getElementsByTagName(“u”),l=tags.length,i,t,a;
对于(i=0;i可以使用JQuery方法

$('u').each(function(){
    innerU = $(this).html();
    $(this).html("<a href=mywebsite.com/" + innerU + ".pdf>" + innerU + "</a>");
});
$('u')。每个(函数(){
innerU=$(this.html();
$(this.html(“”);
});

您可以使用JQuery的方法

$('u').each(function(){
    innerU = $(this).html();
    $(this).html("<a href=mywebsite.com/" + innerU + ".pdf>" + innerU + "</a>");
});
$('u')。每个(函数(){
innerU=$(this.html();
$(this.html(“”);
});


在发布问题之前,您应该先用谷歌搜索它-每个
jquery的第一个链接将引导您从哪里开始。@KonradGadzina如果您阅读了他的代码,我想他不知道jquery的
。each()
method。如果你不知道它叫什么,你就不能搜索它。@Robinbanbaalen我不是说他知道这个方法,那太愚蠢了。^^如果你读了这个问题的标题,你会发现他知道如何形成一个好问题,所以这只是从问题中获取关键字和谷歌搜索。我在fi中引用的短语rst评论取自问题的标题。我知道有时你甚至不知道要搜索什么,但这个标题告诉我现在不是这样。无意冒犯,我只是认为人们在发布问题之前应该更加努力,学习如何搜索网页。@KonradGadzina先生,你的观点很好。你应该用谷歌搜索它在发布问题之前-每个
jquery的第一个链接将引导您从哪里开始。@KonradGadzina如果您阅读了他的代码,我想他不知道jquery的
。each()
method。如果你不知道它叫什么,你就不能搜索它。@Robinbanbaalen我不是说他知道这个方法,那太愚蠢了。^^如果你读了这个问题的标题,你会发现他知道如何形成一个好问题,所以这只是从问题中获取关键字和谷歌搜索。我在fi中引用的短语rst评论取自问题的标题。我知道有时你甚至不知道要搜索什么,但这个标题告诉我现在不是这样。无意冒犯,我只是认为人们在发布问题之前应该更加努力,学习如何搜索网页。@KonradGadzina你说得很好,先生。太棒了,谢谢你的支持帮助!@user1524879>没问题,别忘了接受答案。特别是Kolink的答案,它更好。生成无效的HTML。@Kolink>很好的捕获,我专注于显示每个,但没有正确检查生成的HTMLAwesome,谢谢你的帮助!@user1524879>没问题,别忘了接受答案。特别是Kolink的answer哪个更好。生成无效的HTML。@Kolink>Nice catch,我专注于显示每个,没有正确检查生成的HTMLCurious为什么你说最好通过DOM方法插入而不是使用innerHTML…因为必须解析、处理和插入
innerHTML
。它会破坏对旧HTML的任何引用节点,包括(尤其是)事件侦听器。它在这里并不真正适用,但通常最好避免使用
innerHTM
。回答得好,我希望看到性能说明它“快了一百倍”不过,这是一个大胆的想法claim@BenjaminGruenbaum--不久前有人已经创建了一个…@natlee75谢谢,我没有看到,我只是好奇为什么你说最好通过DOM方法插入,而不是使用innerHTML…因为必须解析、处理和插入
innerHTML