我试图弄清楚为什么iOS Safari浏览器不会像台式机浏览器那样应用href
更改。到目前为止,我已经尝试过.attr()
和.prop()
,但似乎都没有人应用URL调整。
为了更具描述性,我正在尝试在4个元素的行中替换最后一个链接元素的href
位置。
截至目前,生成的HTML如下所示:
<a href="http://www.URL.com/link-to-img-url-1">[LINK TO IMAGE 1]</a>
<a href="http://www.URL.com/link-to-img-url-2">[LINK TO IMAGE 2]</a>
<a href="http://www.URL.com/link-to-img-url-3">[LINK TO IMAGE 3]</a>
<a href="http://www.URL.com/link-to-img-url-4">[LINK TO IMAGE 4]</a>
但是我希望第四个链接应用不同的URL,如下所示:
<a href="http://www.DIFFERENTURL.com/">[LINK TO IMAGE 4]</a>
这是完整的代码段示例(图像链接只是占位符):
$(document).ready(function() {
$("a:last").attr("href", "http://www.google.com/");
});
a {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="http://www.URL.com/link-to-img-url-1">[LINK TO IMAGE 1]</a>
<a href="http://www.URL.com/link-to-img-url-2">[LINK TO IMAGE 2]</a>
<a href="http://www.URL.com/link-to-img-url-3">[LINK TO IMAGE 3]</a>
<a href="http://www.URL.com/link-to-img-url-4">[LINK TO IMAGE 4]</a>
这是到目前为止我尝试实现的其他一些脚本:
使用.attr()/在iOS上不起作用:
$(document).ready(function(){
$("#instafeed a:nth-child(4)").attr("href", "http://www.DIFFERENTURL.com/");
});
使用.prop()/在iOS上不起作用:
$(document).ready(function(){
$("#instafeed a:nth-child(4)").prop("href", "http://www.DIFFERENTURL.com/");
});
使用:eq(3)+ .attr()/在iOS上不起作用:
$(document).ready(function(){
$("#instafeed a:eq(3)").attr("href", "http://www.DIFFERENTURL.com/");
});
使用[0] .href /在iOS上不起作用:
$(document).ready(function(){
$('#instafeed a:last')[0].href = 'http://www.DIFFERENTURL.com/';
});
使用replaceWith(方法1)/在iOS上不起作用
$(document).ready(function(){
$('#instafeed a').last().replaceWith('http://www.DIFFERENTURL.com/');
});
使用replaceWith(方法2)/在iOS上不起作用:
$(document).ready(function() {
$("#instafeed a:last").show(function() {
var before = $(this).attr('href');
var replacewith = "https://DIFFERENTURL.com/";
var after = before.replace(before, replacewith);
$(this).attr("href", after);
});
});