Ich habe ein paar DIVs:

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

Gibt es eine Möglichkeit, das div mit jquery abzurufen, das die Zeichenfolge " total_ " enthält? Der Zweck besteht darin, den Wert nach dem Wert 10 abzurufen. Auch die Divs haben keine Klassen oder IDs.

Das Ergebnis wäre ungefähr so:

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

Vielen Dank ;)

-1
Sebastian 3 Dez. 2013 im 17:50

6 Antworten

Beste Antwort

Wenn nur ein DIV:

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

Sie können den Wert kürzen oder eine Zahl anstelle einer Zeichenfolge erhalten:

var total = +$('div:contains(total_)').text().split('_').pop();
0
A. Wolff 3 Dez. 2013 im 13:52

Versuchen Sie : enthält ()

$('div:contains(total_)').text().match(/\d+/g);

Geigen-Demo

0
Tushar Gupta - curioustushar 3 Dez. 2013 im 13:54

In jQuery haben Sie den Selector http://api.jquery.com/contains-selector/ Dieser Selektor wählt alle Elemente aus, die den angegebenen Text enthalten.

In Ihrem Fall sollten Sie also Folgendes verwenden:

$("div:contains('total_')");
0
Bas van Dijk 3 Dez. 2013 im 13:53

Versuche dies:

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

  if($(this).text().contains('total_')){
     return $(this).text().replace('total_','');
  }
  return 0;
});
0
Ringo 3 Dez. 2013 im 13:55

Sie folgenden Code:

var total = $("[id^='total_']").html()
0
sumit 3 Dez. 2013 im 14:01

Ja, der :contains Selektor:

$("div:contains('total_')")
0
sbking 3 Dez. 2013 im 13:51