Я прочитал около дюжины подобных вопросов здесь и перепробовал все, что мог придумать, но я явно что-то делаю не так, потому что просто не могу заставить его работать.
HTML :
<iframe name="posts" id="posts" src="edit.php">
JS :
$(document).ready(function() {
$('iframe#posts').ready(function() {
var frame = $('iframe#posts').contentDocument;
console.log($('#adminmenu', frame));
$('#adminmenu', frame).css('display', 'none !important');
});
});
Консоль выводит:
[<ul id="adminmenu" style="display: none !important; ">…</ul>]
, что является правильным элементом,Однако display:none
никогда не применяется в браузере.Кроме того, я нахожу странным, что консоль выводит со встроенным стилем, даже если она устанавливается после оператора console.log()
(не уверен, связано это или нет, но не похоже, что это должно быть).
Кто-нибудь знает, почему это не работает?
Я должен также добавить, что в основном теле документа также есть <ul id="adminmenu">
, но я решил, предоставив контекст iframe, который должен бытьнацеливание на iframe.