Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

jquery поиск span'a

414
09 декабря 2012 года
CassandraDied
763 / / 24.05.2012
Хай.
Как вытащить span с текстом "сложение"? То есть, span с любым текстом по условию, а не первый или последний span в div'e.
 
Код:
<div id="didactic_div" class="didactic">
<span >сложение</span><br>
<span >вычитаение</span><br>
</div>
446
09 декабря 2012 года
Meander
487 / / 04.09.2011
Чтобы найти любой, надо сделать обход
всех потомков данного div'а: тут
Чтобы найти конкретный, можно свойство innerHTML
alert( element.innerHTML ); тут
правда это не jquery... вот jquery
414
09 декабря 2012 года
CassandraDied
763 / / 24.05.2012
innerHTML работет, если это просто JavaScript. Мне нужен вариант с JQuery, когда в селектор ставится условие. Например:

 
Код:
var already_exist = $(".didactic").find("span[innerHTML]");
Или с уточнение, что innerHTML будет "сложение". Но такой код не работает.
446
09 декабря 2012 года
Meander
487 / / 04.09.2011
вот конкретно jquery
446
09 декабря 2012 года
Meander
487 / / 04.09.2011
вот поиск элементов
414
09 декабря 2012 года
CassandraDied
763 / / 24.05.2012
Не-не-не, без своих функций перебора коллекции. Если с ними, то можно было бы и просто на JavaScript написать.
Мне хочется узнать, как с помощью JQuery найти один span с определённым текстом внутри. Всё это одной функцией, без написания дополнительных обработчиков коллекций и прочего. Например, чтобы найти любой span, в котором задан id, нужно написать следующее:

 
Код:
var span = $("div span[id]");
Чтобы найти span с определённым id, нужно написать:
 
Код:
var span = $("div span[id='22']");
А с innerHTML так не получается. Не возвращается ни коллекция span'ов, ни один с тектом "сложение".
Meander, если где-то в ссылках, что ты кидал, был способ сделать то, что мне нужно и так, как мне нужно, скопируй его сюда, потому что сам его не замечаю.
446
09 декабря 2012 года
Meander
487 / / 04.09.2011
Попробуй так:

 
Код:
var span = $("div span");
var txt = 'сложение';

span.each(function(i, value){
 
  if (this.innerHTML == txt) // стоп на элементе
    alert('span['+i+']: ' + value.innerHTML);
  }
);
или так, так как при переборе each, текущий элемент передается как this

 
Код:
var txt = 'сложение';

$("div span").each(function(){
  if(this.innerHTML == txt)
    alert( this.innerHTML );//выведет содержимое
});
Взял отсюда
446
09 декабря 2012 года
Meander
487 / / 04.09.2011
Рабочий пример:
Код:
<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
<script src="jquery.js"></script>
    <div>
      <span >вычитаение1</span><br>
      <span >вычитаение2</span><br>
      <span >вычитаение3</span><br>
      <span >вычитаение4</span><br>
      <span >вычитаение5</span><br>
      <span >сложение</span><br>
      <span >вычитаение</span><br>
    </div>

    <script>
var txt = 'сложение';
var span = $("div span");

span.each(function(i, value){
  if (this.innerHTML == txt) // стоп на элементе
    alert('span['+i+']: ' + value.innerHTML);
  }
);
    </script>
  </body>
</html>
414
09 декабря 2012 года
CassandraDied
763 / / 24.05.2012
Не удивлюсь, если он будет работать, но такой вариант мне не подходит.
446
09 декабря 2012 года
Meander
487 / / 04.09.2011
 
Код:
var txt = 'сложение';
$('div span:contains('+txt+')').each(function() {alert(this.innerHTML);});
414
09 декабря 2012 года
CassandraDied
763 / / 24.05.2012
Цитата: Meander
 
Код:
var txt = 'сложение';
$('div span:contains('+txt+')').each(function() {alert(this.innerHTML);});


А если будет "сложение дробей" и "сложение", и "сложение целых", то выберется неверный span,

271
10 декабря 2012 года
MrXaK
721 / / 31.12.2002
Из мана по селектору :contains первый комментарий - написать свой селектор для точного совпадения.
414
10 декабря 2012 года
CassandraDied
763 / / 24.05.2012
Цитата: MrXaK
Из мана по селектору :contains первый комментарий - написать свой селектор для точного совпадения.


Да, оно, спасибо.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог