Я пытаюсь выяснить, почему браузер iOS Safari не будет применять изменение href
, как это происходит в браузере настольного компьютера. До сих пор я пробовал .attr()
и .prop()
, но ни один из них, похоже, не применяет настройку URL.
Для большей наглядности я пытаюсь заменить местоположение href
последнего связанного элемента в строке из 4 элементов.
На данный момент сгенерированный 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>
Вот полный пример фрагмента (ссылки на изображения являются просто заполнителями):
И вот некоторые другие сценарии, которые я пытался реализовать на данный момент:
С .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);
});
});