var txt = 'сложение';
$("div span").each(function(){
if(this.innerHTML == txt)
alert( this.innerHTML );//выведет содержимое
});
jquery поиск span'a
Как вытащить span с текстом "сложение"? То есть, span с любым текстом по условию, а не первый или последний span в div'e.
Код:
<div id="didactic_div" class="didactic">
<span >сложение</span><br>
<span >вычитаение</span><br>
</div>
<span >сложение</span><br>
<span >вычитаение</span><br>
</div>
всех потомков данного div'а: тут
Чтобы найти конкретный, можно свойство innerHTML
alert( element.innerHTML ); тут
правда это не jquery... вот jquery
Код:
var already_exist = $(".didactic").find("span[innerHTML]");
Мне хочется узнать, как с помощью JQuery найти один span с определённым текстом внутри. Всё это одной функцией, без написания дополнительных обработчиков коллекций и прочего. Например, чтобы найти любой span, в котором задан id, нужно написать следующее:
Код:
var span = $("div span[id]");
Код:
var span = $("div span[id='22']");
Meander, если где-то в ссылках, что ты кидал, был способ сделать то, что мне нужно и так, как мне нужно, скопируй его сюда, потому что сам его не замечаю.
Код:
var span = $("div span");
var txt = 'сложение';
span.each(function(i, value){
if (this.innerHTML == txt) // стоп на элементе
alert('span['+i+']: ' + value.innerHTML);
}
);
var txt = 'сложение';
span.each(function(i, value){
if (this.innerHTML == txt) // стоп на элементе
alert('span['+i+']: ' + value.innerHTML);
}
);
Код:
Код:
<!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>
<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>
Не удивлюсь, если он будет работать, но такой вариант мне не подходит.
Код:
var txt = 'сложение';
$('div span:contains('+txt+')').each(function() {alert(this.innerHTML);});
$('div span:contains('+txt+')').each(function() {alert(this.innerHTML);});
Цитата: Meander
Код:
var txt = 'сложение';
$('div span:contains('+txt+')').each(function() {alert(this.innerHTML);});
$('div span:contains('+txt+')').each(function() {alert(this.innerHTML);});
А если будет "сложение дробей" и "сложение", и "сложение целых", то выберется неверный span,
Из мана по селектору :contains первый комментарий - написать свой селектор для точного совпадения.
Цитата: MrXaK
Из мана по селектору :contains первый комментарий - написать свой селектор для точного совпадения.
Да, оно, спасибо.