Мне нужно иметь возможность показывать только привязанный div и иметь возможность разделить ссылку с этим якорем. Он работает не так, как ожидалось (попробуйте bar1 (blank)
bar2 (blank)
ссылка). Загрузка страницы main.html (показано ниже) с привязкой bar1
или bar2
(www.foo.bar/main.html#bar1
) не может должным образом обрабатывать css и jQuery, если bar1
(или bar2
) загружается из файла. С другой стороны, если элемент #foo добавлен как строка html, то привязанная ссылка, похоже, работает (например, www.foo.bar/main.html#foo
). Для сравнения поведение нажмите foo (blank)
, bar1 (blank)
, bar1
, bar2 (blank)
и bar2
ссылки, bar1 (blank)
и bar2 (blank)
ссылки не показывают bar1
(или bar2
) DIV. По-видимому, это связано с асинхронной загрузкой файлов. Есть ли способ обойти эту проблему?CSS + привязка к динамически загружаемому элементу из файла с использованием jQuery не работает
main.html:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script>
$("<div>").load("bar1.html #bar1", function() {
$('body').append($(this).html());
});
$("<div>").load("bar2.html #bar2", function() {
$('body').append($(this).html());
});
$(function() {
$('body').append("<div id='foo' style='background-color:#8F8;'>FOO</div>");
});
</script>
<style>
div:not(:target) { display: none; }
div:target { display: block; }
</style>
</head>
<body>
<a href="main.html#foo" target="_blank">foo (blank)</a>
<a href="main.html#bar1" target="_blank">bar1 (blank)</a>
<a href="main.html#bar1">bar1</a>
<a href="main.html#bar2" target="_blank">bar2 (blank)</a>
<a href="main.html#bar2">bar2</a>
</body>
</html>
bar1.html:
<div id='bar1'>BAR1</div>
bar2.html:
<div id='bar2'>BAR2</div>
Это не поможет. Мне нужно иметь возможность показывать только привязанный div и иметь возможность разделить ссылку с этим якорем. В этом примере я ожидаю после нажатия «bar (blank)» для открытой страницы, чтобы показать «BAR», это не так. – alex