2016-04-25 10 views
0

Ich baue ein Widget, das ein Diagramm für ein Element generiert, wenn auf die Seite doppelt geklickt wird. Ohne alle Widgets neu zu erstellen, ist dies die einzige Möglichkeit für mich, das Problem anzugehen.ID in String suchen mit Übereinstimmung

Ich möchte die ID eines Widgets aus dem HTML eines Elements finden.

var io_id=32715; 

Wie kann ich die Zeichenfolge für dieses Muster suchen und bekommen

Alle Widgets ich arbeiten wollen, sind in einem div-Element panel_content_id_#

ich auf der Codezeile gefunden, die Anzahl finden möchten die Nummer (32715).

$('div[id^="panel_content_id_"]').dblclick(function(e){ 
    console.log($(this).attr('id')); 
    var code = $(this).html(); 

    // Find ID 
    var id = -1; 
    var search = code.match("var io_id="); 
    if(search > -1){ 


    } 

    console.log($(this).html()); 

}); 

Die Linie der im Code gesucht wird, wie so aussehen

var io_id=xxxxx; 

Wo xxxxx eine Zufallszahl = Ich weiß nicht,

möchte ich finden xxxxx

+0

, was Sie finden wollen? – uzaif

+1

Die vierte Zeile sagt wörtlich 'Ich möchte die Nummer in der Codezeile finden var io_id = 32715;' –

+0

Wenn Sie nur innerhalb der Zeichenfolge suchen möchten, dann verwenden Sie Muster wie 'theString.indexOf (substring)' wo Teilzeichenfolge ist die ID in Zeichenfolge. –

Antwort

1

Split es in zwei Teilen - der Code vor dem var io_id= All und der andere Teil ist danach.
Und dann wissen Sie, dass die Zeile mit ; endet, also aus dem zweiten Teil schneiden Sie das Zeug, das vor dem Semikolon ist.
CODE

$('div[id^="panel_content_id_"]').dblclick(function(e){ 
    console.log($(this).attr('id')); 
    var code = $(this).html(); 

    // Find ID 
    var id = -1; 
    if (code.indexOf("var io_id")>-1) { 
     id = parseInt(code.split("var io_id=")[1].split(";")[0]); 
    } 

    if(search > -1){ 
     console.log("The code betrayed me"); 
    } 

    console.log("The id is: " +id); 
}); 
1

Vielleicht könnten Sie Versuchen Sie dieses Regex-Muster:

\d+(?! var io_id=) 

wie folgt verwendet:

$('div[id^="panel_content_id_"]').dblclick(function(e) { 
 
    console.log($(this).attr('id')); 
 
    var code = $(this).html(); 
 

 
    // Find ID 
 
    var id = -1; 
 
    var search = code.match("var io_id="); 
 
    
 
    if (search) { // Edited 
 
    // New code 
 
    alert(code.match(/\d+(?! var io_id=)/gim)); 
 
    } 
 

 
    console.log($(this).html()); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="panel_content_id_32715"> 
 
    Div content 
 
    <br><br> 
 
    var io_id=32715; 
 
</div>

Verwandte Themen