forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JavaScript / HTML (http://forum.boolean.name/forumdisplay.php?f=136)
-   -   Как найти элемент с нужным классом? (http://forum.boolean.name/showthread.php?t=14043)

JeanWinters 12.01.2011 13:05

Как найти элемент с нужным классом?
 
Подскажите, пожалуйста, как можно решить. Нужно найти тег в документе с определенным классом до момента его появления в документе, который генерируется автоматически. Читал, что существует специальный метод документа, который возвращает элемент по классу, но слышал что он не работает в IE6 . Может есть какие-то другие способы?

cyberblut 12.01.2011 13:21

Ответ: Как найти элемент с нужным классом?
 
До момента появления тега в документе найти его невозможно :) Его там нет, что искать-то?

А вообще на jQuery:
<div class="my-class"></div>
$('.my-class').html('Hello!');

JeanWinters 12.01.2011 13:31

Ответ: Как найти элемент с нужным классом?
 
У меня не получается подключить jQ для этого шаблона документа. Еще хотел спросить... Может ли быть так, что имеется переменная $content , которую php выводит в качестве всего текста, которого очень много? Может как-нибудь можно найти последовательность символов "<div class="test">" в этой переменной?

HAMANN 12.01.2011 14:55

Ответ: Как найти элемент с нужным классом?
 
ну в пхп. Можешь найти. Создать DOM объект из твоего шаблона

cyberblut 12.01.2011 15:21

Ответ: Как найти элемент с нужным классом?
 
Цитата:

Сообщение от JeanWinters (Сообщение 175348)
У меня не получается подключить jQ для этого шаблона документа. Еще хотел спросить... Может ли быть так, что имеется переменная $content , которую php выводит в качестве всего текста, которого очень много? Может как-нибудь можно найти последовательность символов "<div class="test">" в этой переменной?

Бляха, ну так и формулируй вопрос. Получается тебе надо НЕ ДО ПОЯВЛЕНИЯ тега найти его, а обработать кусок HTML ДО РЕНДЕРА.
Что знаит не получается подключить jQuery? Там же только путь прописать к либе и всё.
Конечно может быть переменная $content, если ты её создал и рендеришь через неё результат. Но никакой встроенной подобной переменной нет :)
Зато есть буфер вывода.
PHP код:

/*
* Вот эта шняга создаёт буфер вывода (ставишь в начале скрипта)
* Потом выводит в буфер необходимые данные
* Затем забирает ВСЁ из буфера и удаляет его (ставишь в конец скрипта)
* А в переменной $content как раз получается весь отрендеренный HTML
*/
ob_start();

somePrintingMethod();
echo 
'Hello';

$content ob_get_clean();
echo 
$content


JeanWinters 12.01.2011 16:51

Ответ: Как найти элемент с нужным классом?
 
Я спросил, потому что в шаблоне сайтового движка написано, что-то вроде:
PHP код:

"print $content


Вот мне и интересно, что может находиться в этой переменной. Ничего конкретного не нашел, потому что движок очень "хороший" и такое же у него комьюнити. Если возможно, что в этой переменной содержится текст на несколько страниц, то как мне найти в этом тексте нужную строчку, т.е. последовательность символов? Смотрел руководство по php , но там столько всего и так толком не понял... :crazy:

HAMANN 12.01.2011 19:21

Ответ: Как найти элемент с нужным классом?
 
так надо искать модуль который эту строку рендерит.

JeanWinters 12.01.2011 19:55

Ответ: Как найти элемент с нужным классом?
 
Спрошу по-другому: предположим имеется переменная $content = "<div> <div class="test"> </div> </div>" . Как мне проверить, есть ли в этой строковой переменной последовательность символов <div class="test"> ?

HAMANN 12.01.2011 21:15

Ответ: Как найти элемент с нужным классом?
 
PHP код:

$is preg_match('/<div class="text">/is'$content); 

возвращает true или false

P.S Тему переносить в PHP раздел надо

cyberblut 13.01.2011 02:53

Ответ: Как найти элемент с нужным классом?
 
При данной конкретной формулировке strpos хватит

HAMANN 13.01.2011 04:00

Ответ: Как найти элемент с нужным классом?
 
ну ему же не просто найти позицию я думаю

JeanWinters 13.01.2011 13:29

Ответ: Как найти элемент с нужным классом?
 
Пишу:
PHP код:

$is preg_match('/<div class="test">/is'$content);  
if (
$is true) { print '<script type="text/javascript">alert("safsdf");</script>'; }; 

Возвращает истину даже в том случае, когда последовательности символов <div class="test"> нет.

HAMANN 13.01.2011 13:51

Ответ: Как найти элемент с нужным классом?
 
PHP код:

if ($is === true

либо
PHP код:

if($is


cyberblut 13.01.2011 15:08

Ответ: Как найти элемент с нужным классом?
 
Цитата:

Сообщение от JeanWinters (Сообщение 175472)
Пишу:
PHP код:

$is preg_match('/<div class="test">/is'$content);  
if (
$is true) { print '<script type="text/javascript">alert("safsdf");</script>'; }; 

Возвращает истину даже в том случае, когда последовательности символов <div class="test"> нет.

Детский сад... Посчитай количество знаков равенства в блоке if

JeanWinters 13.01.2011 16:22

Ответ: Как найти элемент с нужным классом?
 
В смысле? А сколько их вообще должно быть? Хотя уже и не важно - я уже решил этот вопрос, тема закрыта.


Часовой пояс GMT +4, время: 19:52.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot