Pregunta

Al hacer clic en el "mivinculo" Quiero el enlace para ser sustituido por el número "123", que se extrae de etiqueta principal. Creo que no estoy haciendo el ".match (...." derecho.

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>
¿Fue útil?

Solución

Usted sólo tiene una coincidencia de lo que necesita para utilizar el partido 0 ª (matriz de base cero). Asimismo, se volverá todo el partido, así que si quieres sólo el número que necesita para eliminar el texto comment- de ella.

$(document).ready(function(){
  $(".link").click(function(){
    var comid = $(this).parents("div.comment")
                       .attr("class")
                       .match(/comment-[0-9]+/)[0]
                       .replace('comment-','');
    $(".link").replaceWith(comid);
  });
});

Si hay una posibilidad de que se produzca ninguna coincidencia, entonces lo que desea asignar los partidos a una variable y sólo hacer el reemplazo (s) si se produce una coincidencia (la variable no es nulo).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top