Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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_Jquery_Arrays_Object - Fatal编程技术网

Javascript 循环遍历页面中的对象,若页面包含键,则追加值

Javascript 循环遍历页面中的对象,若页面包含键,则追加值,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我有一个充满链接的页面。我想在底部放一个小jquery,查找特定的URL,或者如果在内容中找到URL,或者如果当前页面的规范链接(包含在meta中)匹配,则在页面底部为每个URL添加一个小标记。到目前为止,我有: <script type="text/javascript"> var obj = { "apple.php":"apple_pixel_url", "banana.php":"banana_pixel_url", "carrot.php":"car

我有一个充满链接的页面。我想在底部放一个小jquery,查找特定的URL,或者如果在内容中找到URL,或者如果当前页面的规范链接(包含在meta中)匹配,则在页面底部为每个URL添加一个小标记。到目前为止,我有:

<script type="text/javascript">
var obj = {
    "apple.php":"apple_pixel_url",
    "banana.php":"banana_pixel_url",
    "carrot.php":"carrot_pixel_url"
};

$.each( obj, function( key, value ) {
    $( "html:contains(key)" ).append('<img src="'+value+'">');
});
</script>

var obj={
“apple.php”:“苹果像素url”,
“banana.php”:“banana\u pixel\u url”,
“carrot.php”:“carrot\u像素\u url”
};
$。每个(对象、功能(键、值){
$(“html:contains(key)”).append(“”);
});
这总是附加所有三个值,所以我显然做错了什么。我想理想情况下,我会只看“a”链接加上任何匹配的标签

<link rel="canonical" href="CANONICAL_URL" />


执行此操作的最佳方法是什么?

您正在传递一个静态字符串作为选择器,其中as'key'是一个变量。

   $( "html:contains("+key+")" ).append('<img src="'+value+'">');
$(“html:contains(“+key+”))。追加(“”);

您正在传递一个静态字符串作为选择器,其中as'key'是一个变量。

   $( "html:contains("+key+")" ).append('<img src="'+value+'">');
$(“html:contains(“+key+”))。追加(“”);

您还可以使用以下语法附加到各个链接:

$("a[href$='"+key+"']").append('<img src="'+value+'">');
$(“a[href$=”“+key+”]);

您还可以使用以下语法附加到各个链接:

$("a[href$='"+key+"']").append('<img src="'+value+'">');
$(“a[href$=”“+key+”]);

它总是附加三个链接,因为它在javascript中查找值!仅在


这里有个小问题:

它总是附加三个链接,因为它在javascript中查找值!仅在



这里有一个小问题:

如果一个页面有多个类似的URL,如
apple.php
?在这种情况下,我只希望它附加一次。如果一个页面有多个类似的URL,如
apple.php
?在这种情况下,我只希望它附加一次。这肯定是解决问题的更好方法。不过,我不想附加到链接上,我想附加到正文。我想附加到正文或html。否则这就行了。如何附加到页面的末尾而不是匹配的标记?是否只需要对链接的第一个实例执行此操作?或者对于链接的所有实例?例如,如果apple.com链接显示了23次,那么循环是否算作一次?或23?每个链接仅一次。如果一个apple.php链接显示了20次,它应该只追加一次。这肯定是解决这个问题的更好方法。我不想追加到链接,我想追加到正文。我想追加到正文或html。否则这就行了。如何附加到页面的末尾而不是匹配的标记?是否只需要对链接的第一个实例执行此操作?或者对于链接的所有实例?例如,如果apple.com链接显示了23次,那么循环是否算作一次?或23?每个链接仅一次。如果一个apple.php链接显示20次,它应该只追加一次。哦,所以每次都是正数,因为它被解析为“”,这是有道理的!哦,所以每次都是正数,因为它被解析为“”,这是有道理的!问题是规范链接标记在标题中。@pg.更新答案以获得完整解决方案。问题是规范链接标记在标题中。@pg.更新答案以获得完整解决方案。