Estrazione numeri dalla attributo padre in jQuery
-
22-09-2019 - |
Domanda
Cliccando sul "MyLink" Voglio il link per essere sostituito da numero "123", che viene estratto dal tag padre. Penso che non sto facendo il ".match (...." diritto.
jQuery:
$(document).ready(function(){
$(".link").click(function(){
var comid = $(this).parents("div.comment").attr("class").match(/comment-([0-9]+)/)[1];
$(".link").replaceWith(comid);
});
});
html:
<div class="comment comment-123 ct">
<div class="link">mylink</div>
</div>
Soluzione
Hai solo una corrispondenza quindi è necessario utilizzare la partita 0a (array a base zero). Inoltre, verrà restituito l'intero match, quindi se volete solo il numero è necessario rimuovere il testo comment-
da esso.
$(document).ready(function(){
$(".link").click(function(){
var comid = $(this).parents("div.comment")
.attr("class")
.match(/comment-[0-9]+/)[0]
.replace('comment-','');
$(".link").replaceWith(comid);
});
});
Se c'è una possibilità che non può competere si verificherà, allora che ci si vuole assegnare le partite ad una variabile e fare solo la sostituzione (s) se si verifica una corrispondenza (la variabile non è nullo).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow