#php #javascript #jquery
#php #javascript #jquery
Вопрос:
У меня есть базовый скрипт jquery, возвращающий для меня некоторый HTML-код. Код приведен ниже:
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
$.post('libraries/content.php', function(data){
$('#content').html(data);
});
});
});
</script>
Скрипт возвращает html, который хранится в content.php , но к нему не применяется никакого стиля.
В принципе, у меня есть ссылка с надписью «показать больше контента», которая показывает выпадающий список, который хранится в content.php (php-скрипт заполняет выпадающий список, поэтому он находится в отдельном файле), но я понятия не имею, почему выпадающий список не оформлен.
Есть предложения?
Спасибо,
Грегор
Комментарии:
1. ваш код кажется нормальным. чтобы мы могли вам помочь, пожалуйста, выполните одно из следующих действий: a. разместите соответствующую таблицу стилей b. попробуйте проверить недавно добавленный стиль html с помощью firebug style inspector, возможно, вы обнаружите что-то, что пропустили…
2. Где и как вы определяете стили? И какие стили? (поскольку стили, доступные в выпадающих списках, довольно ограничены)
3. Есть 8 таблиц стилей! Я определяю таблицу стилей в all.css (и импортирую их), ссылка на которую приведена в заголовке документа.
4. Кроме того, если я включу HTML, который находится в content.php тогда стили будут в порядке непосредственно на странице. Это происходит только тогда, когда я пытаюсь загрузить его через приведенный выше скрипт
Ответ №1:
Попробуйте использовать функцию $.load. Пример:
$("#content").load("libraries/content.php");
Ответ №2:
когда вы говорите выпадающий список, вы имеете в виду <select>
элемент?
если вы используете браузер webkit (google Chrome, safari), то оформление <select>
полей — занятие не из приятных.
чтобы убедиться, что проблема именно в этом, просто скопируйте выходные данные content.php
в свой исходный файл и посмотрите, стилизован ли он, когда не загружается динамически. я подозреваю, что вы увидите ту же проблему.
другой способ проверить это — добавить background-color:blue;font-size:30px;
к <select>
стилю поля (webkit нужны комбинации стилей, только изменение размера шрифта будет проигнорировано).
и третий способ проверить: протестируйте его в firefox. он более серьезно относится к стилям в полях формы.
Комментарии:
1. p.s. откройте эту страницу в safari / chrome, чтобы увидеть, как иногда стили css в выпадающих списках просто игнорируются: particletree.com/examples/safari3/drop.html
2. Стиль, который у меня есть в раскрывающемся списке, работает во всех браузерах (ie7 , FF и всех браузерах webkit). Я разрабатываю в FF.
3. хм … не то, что я ожидал тогда. можете ли вы сузить свою проблему, чтобы она выполнялась в jsfiddle.net ? (вы можете без проблем перенести $.post в другой домен)