2013-12-03 4 views
-1

У меня есть несколько ДИВЫХ-х:Получить Div содержания, где содержание соответствует строке

<div> bob </div> 
<div> dog </div> 
<div> total_10 </div> 
<div> rat </div> 

Есть ли способ, чтобы получить DIV с JQuery, который содержит строку «total_». Целью является получение значения после . Также у div нет классов или идентификаторов.

Результат будет somethinh как:

var total = $(SELECTOR).html; //which is 10 

спасибо;)

+0

Где вы застряли? Не пытайтесь на вашей стороне ??? –

ответ

0

Если только один DIV:

var total = $('div:contains(total_)').text().split('_').pop();// 10 

Вы могли бы пожелать, чтобы урезать стоимость или получить номер вместо строки:

var total = +$('div:contains(total_)').text().split('_').pop(); 
+0

Здесь есть несколько предположений. Например, это предполагает, как заявил @ a-wolff, что есть только один div, который соответствует. Он также предполагает, что есть только одно подчеркивание и все после того, как это ваш номер. И он предполагает, что ни один другой div никогда не будет содержать текст «total_», ​​если только это не тот div, который вы пытаетесь извлечь. Подумайте об этом, когда решитесь на реализацию. – Lou

0

Да, :contains селектор:

$("div:contains('total_')") 
+3

var total = $ ("div: содержит ('total _')"). Text(). Replace ('total_', ''); – bagonyi

0

В JQuery у вас есть содержит селектор http://api.jquery.com/contains-selector/ Этот селектор выбирает все элементы, которые содержат заданный текст.

Так что в вашем случае вы должны использовать:

$("div:contains('total_')"); 
+0

Хорошо, так почему же все стремятся? –

+0

Мне тоже интересно ... –

+0

Я предоставляю ссылку на документацию и объяснение, а не просто бросаю строку кода и получаю 3 downvotes без какой-либо причины. –

0

Попробуйте это:

$('div').each(function(){ 

    if($(this).text().contains('total_')){ 
    return $(this).text().replace('total_',''); 
    } 
    return 0; 
}); 
0

Следующий код:

var total = $("[id^='total_']").html() 
Смежные вопросы