Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886

Append

24.12.2016, 23:53. Показов 1410. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я прикладываю маленький проект. Там ничего лишнего нет. Основной скрипт в scripts/script.js
Там функция:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function bindBux(id) {
        $('#' + id).click(function() {
            var $el = $("." + id);
            
            if ($el.text()){
                $el.empty();
            }
            else{
                $el.load('html/'+id+'.html');
                $el.append('ВОТ ЭТОТ ТЕКСТ ДОЛЖЕН ДОПИСАТЬСЯ ПОД ТАБЛИЦУ!');
            }
            $('[title = "bux"]').not($el).empty();  
        });
        
    }
Текст как-то не очень любезно вписывается в страницу. Его не видно.
Я знаю, что срабатывает. Но что-то его затирает. Нужно, чтобы текст дописывался под таблицу при раскрытии по клику.
Вложения
Тип файла: rar site.rar (30.5 Кб, 4 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.12.2016, 23:53
Ответы с готовыми решениями:

Append()
Добрый день форумчане. Возникла проблема, после ряда проверок пришел к выводу, что функция append не воспринимает переменные совсем....

Append
Добрый день! Возможно вопрос и не относится на прямую к append. Задача: Есть несколько одинаковых строк ...

Append() и переменные
Здравствуйте ! Не получается передать переменную в append пишет undefined (нeопознанно). Вот пример: var clic = 0; ...

11
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,823
25.12.2016, 00:22
daslex,
JavaScript
1
2
3
$el.load('html/'+id+'.html', function(){
    $el.append('ВОТ ЭТОТ ТЕКСТ ДОЛЖЕН ДОПИСАТЬСЯ ПОД ТАБЛИЦУ!');
});
Добавлено через 2 минуты
load - это асинхронный ajax запрос, работает с задержкой, остальной код продолжает работу не дожидаясь ответа от сервера. Т.е. у вас получалось, что сначала срабатывает append, затем приходит ответ от аякс запроса, и все затирается.
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.12.2016, 00:28  [ТС]
А есть возможность синхронного кодирования, заменить append?
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,823
25.12.2016, 00:32
daslex, Не понял в чем вопрос. Передаете вторым параметром функцию. Она будет выполняться после отработки load. Технически асинхронность можно отключить. Но это крайне не рекомендуется делать. Пользователю будет частично недоступен сайт, да и сейчас почти все современные браузеры ругаются на синхронные запросы.
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.12.2016, 00:38  [ТС]
Мне нужно дописать текст под таблицу. Из-за асинхронности это не представляется возможным. Логично избежать асинхронности. Я перепутал append с load, хотел load написать.
Если возможно, то как сделать так, чтобы сначала загрузилась загружаемая страница, только потом дописался текст или догрузилась другая страница?

Про функцию я не понял.
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,823
25.12.2016, 00:41
Лучший ответ Сообщение было отмечено daslex как решение

Решение

daslex, Я уже вам написал, как нужно сделать
JavaScript
1
2
3
$el.load('html/'+id+'.html', function(){
    $el.append('ВОТ ЭТОТ ТЕКСТ ДОЛЖЕН ДОПИСАТЬСЯ ПОД ТАБЛИЦУ!');
});
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.12.2016, 00:59  [ТС]
Благодарю.
Просмотрел..

Добавлено через 8 минут
JavaScript
1
2
3
$el.load('html/'+id+'.html', function(){
    $el.load('file');
});
То как? Просто из-за этой асинхронности второй load затирает первый загруженный текст.

Добавлено через 4 минуты
В смысле, нужен тот же append, только подгрузка информации из файла.
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,823
25.12.2016, 01:37
daslex,
JavaScript
1
2
3
4
5
$el.load('html/'+id+'.html', function(){
    $.get('file', function(html){
        $el.append(html);
    })
});
Но я думаю, что это не лучше решение делать такие вложенные аякс запросы.

Добавлено через 4 минуты
daslex, Я просто чтоб дать совет, не особо вижу смысла в этом, лучше сделать один аякс запрос. А подключение каких-либо дополнительных файлов нужно переложить на серверный язык, который будет формировать html код.

Добавлено через 18 минут
daslex, На хостинге аякс запросы будут работать не так быстро. Такие последовательные запросы будут работать не очень красиво. И нужно учитывать, что запросы будут отрабатывать с задержкой. И может получиться так, что я нажму сначала на одну ссылку, потом на другую. Очищение блоков происходит сразу, а отработка аякса с задержкой, т.е. может получиться, что выведутся 2 таблицы, что нарушает наши ожидания от программы. Тем более что не известно, ответ от какого аякс запроса придет первым. Может быть логично будет при нажатии на ссылку, убивать исключающие аякс запросы. Либо каким-нибудь другим способом это фиксить.
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.12.2016, 03:17  [ТС]
Хостинг бесплатный с php+MySql посоветуете, то подобная возня само собой отпадёт
Сайт маленький. С небольшой коммерческой составляющей. Я для него бесплатный хостинг нашёл только без поддержки php, mysql.

Структурировать хорошо файлами. Вот и вожусь с файлами с некоторыми ограничениями.

Добавлено через 39 минут
У меня тут ещё кое что не получается. Я пытаюсь в jquery вгрузить javascript, который должен вписать HTML в тело страницы.

Код этот же. С вот таким изменением.
JavaScript
1
$el.append(document.write('<script>document.write("Вот этот текст должен вписаться в блок");<\/script>'));
Мне нужно заставить javascript выполнить "вписку". У меня всё чистится, а должно дописываться в конец нужного блока.
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,823
25.12.2016, 05:51
Лучший ответ Сообщение было отмечено daslex как решение

Решение

daslex, document.write() не работает с DOM. Он может использоваться для формирования страницы на лету, но только до того, как страница будет загружена. Если страница загружена и сформировано DOM дерево, то при вызове document.write() вся страница будет затираться.
Для подгруздки скриптов в jQuery есть специальный метод $.getScript('script.js');, он подгрузит скрипт и выполнит его.

Добавлено через 2 часа 9 минут
Цитата Сообщение от daslex Посмотреть сообщение
Хостинг бесплатный с php+MySql посоветуете, то подобная возня само собой отпадёт
Сайт маленький. С небольшой коммерческой составляющей. Я для него бесплатный хостинг нашёл только без поддержки php, mysql.
Я вам советую присмотреться в сторону AngularJS. Это клиентский фреймворк на javascript-е - тот велосипед, который вы пытаетесь написать.
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.12.2016, 12:09  [ТС]
Я присмотрюсь к AngularJS.
Только это через некоторое время.

С getscript тоже не вышло. Также затирает.
JavaScript
1
2
3
$el.load('html/'+id+'.html', function(){
    $el.append($el.script('file'));
});
JavaScript
1
document.write('HELLO');
Есть возможность "приписываться" в блок?
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,823
25.12.2016, 13:39
daslex, Нельзя использовать document.write();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2016, 13:39
Помогаю со студенческими работами здесь

параметры append
суть такова, есть селект выбора городов и кнопка, при нажатии на которую добавляется такой селект. сам селект довольно большой, можно ли...

не работает append
не могу понять в чем проблема с append, должен по нажатию на картинку добавлять текст в конец текстового поля с id = pac_text ...

Append и события
$('.card-body-title').html($select) // Не находит .card-body-title .card-body-title - добавляется через append, как мне теперь...

$('tbody').append
Формирую таблицу в цикле. В thead были td на английском в отладке. Всё работало. Клиенту отдаю и всунул русские названия для...

Append и события
После вставки данных через append на страницу, не работают события для этих элементов $('.headsearch').on('keyup change', function...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru