Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

359
Views
Al seleccionar texto de un párrafo HTML usando window.getSelection(), el valor del índice de rango da 0 cuando se selecciona texto de una etiqueta diferente/secundaria

Estoy intentando seleccionar texto de un párrafo HTML y obtener el rango de índice.

Para obtener los valores de rango, estoy usando el siguiente código

 { startIndex = window.getSelection().getRangeAt(0).startOffset; endIndex = window.getSelection().getRangeAt(0).endOffset; }

A continuación se muestra el párrafo HTML.

 <p>Pellentesque <b>habitant</b> morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>

Ahora, cuando selecciono la palabra "habitante", startOffset () devuelve 0 como una etiqueta nueva/secundaria iniciada, pero necesito el índice a partir del párrafo

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Devuelve 0 porque el "habitante" de trabajo está envuelto dentro de otro nodo, por lo que el nodo de anclaje no será el párrafo de la sala, será solo el nodo <b>haitant</b> . Puede solucionar esto eliminando la etiqueta <b> .

 <p class="text">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>

otra solución será buscar la palabra seleccionada dentro del nodo principal

 <p class="text">Pellentesque <b>habitant</b> morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> const getSelectedTextIndex = () => { const selectedText = window.getSelection().toString() startIndex = document.querySelector('.text').innerText.indexOf(selectedText) endIndex = startIndex + selectedText.length }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!