我有一个充满链接的页面。我想在底部放一个小jquery,用于查找特定的URL,或者对于每个URL,如果它在内容中找到该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>
这总是附加所有三个值,所以我显然做错了什么。我想理想情况下,我只会查看"a"链接以及任何匹配的标签
<link rel="canonical" href="CANONICAL_URL" />
最好的方法是什么?
您还可以使用以下语法追加到各个链接:
$("a[href$='"+key+"']").append('<img src="'+value+'">');
您正在传递一个静态字符串作为选择器,其中 'key' 是一个变量。
$( "html:contains("+key+")" ).append('<img src="'+value+'">');
它总是附加三个链接,因为它在你的javascript中查找值!仅在<a>
和<link>
元素的href
属性中选中。
var obj = {
"apple.php":"apple_pixel_url",
"banana.php":"banana_pixel_url",
"carrot.php":"carrot_pixel_url"
};
function load(){
$.each( obj, function( key, value ) {
if($("a[href='"+key+"'],link[href='"+key+"']").length > 0){
$("body").append('<img src="'+value+'">');
}
});
}
<body onload="load()">
<a href="apple.php">Apple</a>
<link href="carrot.php" />
</body>
这里有一个小提琴:https://jsfiddle.net/wjdo23kr/1/