Как найти текст в нескольких div
есть div.
В этом диве n количество div'ов. В них содержится текст <div class="main"> <div class="child">текст1</div> <div class="child">текст2</div> <div class="child">текст3</div> </div> есть переменая а, ее значение = текст2 нужно в дивах c классом child найти div который содержит тот же текст что и переменная не могу понять как это сделать, подскажите в каком направлении копать |
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(function (){
var txt='текст2';
alert($('.child:contains("'+txt+'")').text());
});
</script>
</head>
<body>
<div class="main">
<div class="child">текст1</div>
<div class="child">текст2</div>
<div class="child">текст3</div>
</div>
</body>
</html>
|
ага пробовал этот селектор видимо просто не разобрался как парвильно работает
а если мне нужно использовать условие могу ли я сделать так?
if ($('.child:contains("'+txt+'")').text()){
//действие
}
|
housewm,
а где условие то ? и вы неучитываите что элементов много может быть |
Цитата:
Ведь это аналогично вот этому
if ('строка'){
alert(1);
};
|
:write:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(function () {
var txt = 'текст2';
$(".child").each(function (indx, element) {
if ($(element).is(':contains("' + txt + '")')) alert([indx, $(this).text()])
});;
});
</script>
</head>
<body>
<div class="main">
<div class="child">текст1</div>
<div class="child">текст2</div>
<div class="child">текст3</div>
</div>
</body>
</html>
|
Цитата:
|
Цитата:
if(нашел совпадение){
//ничего не делаем
}
else{
//добавляем строчку
}
так вот если each использую то добавляется столько строчек сколько дивов не совпавших с условием |
Цитата:
if($('.child:contains("'+txt+'")').length>0){
//ничего не делаем
}
else{
//добавляем строчку
}
|
Цитата:
сделал вот так
if($('.child:contains("'+txt+'")').text())
работает |
Цитата:
|
Цитата:
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(function (){
var txt='фигня всякая';
alert('>'+$('.child:contains("'+txt+'")').text()+'<')
if ($('.child:contains("'+txt+'")').text()) {
alert(1);
};
if ('') {
alert(1.1);
};
txt='текст2';
if ($('.child:contains("'+txt+'")').text()) {
alert(2);
};
});
</script>
</head>
<body>
<div class="main">
<div class="child">текст1</div>
<div class="child">текст2</div>
<div class="child">текст3</div>
</div>
</body>
</html>
|
ksa,
if ($('.child:contains("'+txt+'")').text()) это лишнее |
рони, видал как - даже еще короче. :)
|
if ('') {
alert(1.1);
};
wtf? |
cyber, ЧТД...
|
Цитата:
|
cyber, в том, что ты что-то не понял нет ничего страшного...
|
ksa, смысел от кода который некогда не выполниться ?
|
Цитата:
|
ksa, блин, теперь прочитал пост с начала)
|
| Часовой пояс GMT +3, время: 17:59. |