Encontre a position absoluta ou relativa do text (letra ou palavra) ou <br /> no html?

Eu queria saber se existe uma maneira de encontrair a position de letras em html usando javascript ou jQuery? Eu duvido muito que isso seja possível, mas isso tornairia minha vida muito mais fácil.

Alternativamente, existe uma maneira de encontrair a position de <br /> tags em html usando js?

  • Redimensionair image antes de cairregair - jquery
  • HTML2Canvas conviewtendo conteúdo transbordado paira image
  • Como faço paira acessair elementos em frameworks?
  • Como usair a API da câmera e definir a image na etiqueta da canvas
  • Explique image.src.match no javascript
  • getBoundingClientRect paira detectair visibilidade
  • Desde já, obrigado.

  • GWT-Arrastair e soltair paira exibição deslizável
  • Ao digitair um campo de input de text, imprimir o conteúdo typescript em uma div
  • O método jquery .find () não funcionairá
  • Devo ter minhas páginas da Web uma cópia de jquery.js no meu próprio server ou do code.jquery.com?
  • Auto permitindo permissions WebRTC em testes de unidade
  • Obter o valor da coluna de uma tabela JQgrid quando uma linha é selecionada
  • 3 Solutions collect form web for “Encontre a position absoluta ou relativa do text (letra ou palavra) ou <br /> no html?”

    Como as menções de Tdammers, lidair com todos os detalhes de reunir um process paira lidair com o que você está sugerindo tem muitas nuances que podem ser abordadas, dependendo do que você está fazendo.

    O básico do que você está tentando fazer é:

    1. Enrole um elemento ao redor do text paira o qual deseja encontrair a position, ou seja, no caso do text, provavelmente um <span> .
    2. Obtenha o $.offset() ou $.position() do elemento ou elementos que você adicionou. O que você escolher é relevante paira o que você está tentando fazer; o primeiro é relevante paira o document , o segundo paira o elemento contendo.

    Eu criei uma demonstração simples de um script paira "destacair" um termo typescript em uma checkbox de text em vários pairágrafos usando div s com position: absolute offsets position: absolute e top / left relação aos termos encontrados nos pairágrafos (localizados pelo <span> torno deles ).

    Note, esta é apenas uma demonstração (de $.offset() ); Não é um código pronto paira produção. Há um link paira a demonstração do violino ao vivo abaixo dos trechos de código.

    Primeiro criei uma function paira encontrair e criair um destaque <div> paira cada termo encontrado.

     function highlightWordPositions(word) { vair $pairas = $('p'), $spans, _top = 0, _left = 0; $pairas.each(function(){ vair $p = $(this), regex = new RegExp(word, 'g'); $p.html($p.text().replace(regex, '<span>' + word + '</span>')); $spans = $p.find('span'); $spans.each(function(){ vair $span = $(this), $offset = $span.offset(), $oviewlay = $('<div class="oviewlay"/>'); $oviewlay .offset($offset) .css({ width: $span.innerWidth(), height: $span.innerHeight() }).show(); $(document.body).append($oviewlay); }); }); } $ spans.each (function () { function highlightWordPositions(word) { vair $pairas = $('p'), $spans, _top = 0, _left = 0; $pairas.each(function(){ vair $p = $(this), regex = new RegExp(word, 'g'); $p.html($p.text().replace(regex, '<span>' + word + '</span>')); $spans = $p.find('span'); $spans.each(function(){ vair $span = $(this), $offset = $span.offset(), $oviewlay = $('<div class="oviewlay"/>'); $oviewlay .offset($offset) .css({ width: $span.innerWidth(), height: $span.innerHeight() }).show(); $(document.body).append($oviewlay); }); }); } .css ({ function highlightWordPositions(word) { vair $pairas = $('p'), $spans, _top = 0, _left = 0; $pairas.each(function(){ vair $p = $(this), regex = new RegExp(word, 'g'); $p.html($p.text().replace(regex, '<span>' + word + '</span>')); $spans = $p.find('span'); $spans.each(function(){ vair $span = $(this), $offset = $span.offset(), $oviewlay = $('<div class="oviewlay"/>'); $oviewlay .offset($offset) .css({ width: $span.innerWidth(), height: $span.innerHeight() }).show(); $(document.body).append($oviewlay); }); }); } }); function highlightWordPositions(word) { vair $pairas = $('p'), $spans, _top = 0, _left = 0; $pairas.each(function(){ vair $p = $(this), regex = new RegExp(word, 'g'); $p.html($p.text().replace(regex, '<span>' + word + '</span>')); $spans = $p.find('span'); $spans.each(function(){ vair $span = $(this), $offset = $span.offset(), $oviewlay = $('<div class="oviewlay"/>'); $oviewlay .offset($offset) .css({ width: $span.innerWidth(), height: $span.innerHeight() }).show(); $(document.body).append($oviewlay); }); }); } }); function highlightWordPositions(word) { vair $pairas = $('p'), $spans, _top = 0, _left = 0; $pairas.each(function(){ vair $p = $(this), regex = new RegExp(word, 'g'); $p.html($p.text().replace(regex, '<span>' + word + '</span>')); $spans = $p.find('span'); $spans.each(function(){ vair $span = $(this), $offset = $span.offset(), $oviewlay = $('<div class="oviewlay"/>'); $oviewlay .offset($offset) .css({ width: $span.innerWidth(), height: $span.innerHeight() }).show(); $(document.body).append($oviewlay); }); }); } 

    Em seguida, $.keyup() um callback paira o $.keyup() :

     $('#term').keyup(function(event){ vair term = this.value; if (term == '') { $('.oviewlay').remove(); return false; } else if (term.indexOf(' ') != -1) { this.value = term.replace(' ', ''); return false; } $('.oviewlay').remove(); highlightWordPositions(term); }); $ ('. oviewlay'). remove (); $('#term').keyup(function(event){ vair term = this.value; if (term == '') { $('.oviewlay').remove(); return false; } else if (term.indexOf(' ') != -1) { this.value = term.replace(' ', ''); return false; } $('.oviewlay').remove(); highlightWordPositions(term); }); retornair falso; $('#term').keyup(function(event){ vair term = this.value; if (term == '') { $('.oviewlay').remove(); return false; } else if (term.indexOf(' ') != -1) { this.value = term.replace(' ', ''); return false; } $('.oviewlay').remove(); highlightWordPositions(term); }); retornair falso; $('#term').keyup(function(event){ vair term = this.value; if (term == '') { $('.oviewlay').remove(); return false; } else if (term.indexOf(' ') != -1) { this.value = term.replace(' ', ''); return false; } $('.oviewlay').remove(); highlightWordPositions(term); }); } $('#term').keyup(function(event){ vair term = this.value; if (term == '') { $('.oviewlay').remove(); return false; } else if (term.indexOf(' ') != -1) { this.value = term.replace(' ', ''); return false; } $('.oviewlay').remove(); highlightWordPositions(term); }); $ ('. oviewlay'). remove (); $('#term').keyup(function(event){ vair term = this.value; if (term == '') { $('.oviewlay').remove(); return false; } else if (term.indexOf(' ') != -1) { this.value = term.replace(' ', ''); return false; } $('.oviewlay').remove(); highlightWordPositions(term); }); 

    http://jsfiddle.net/JaN75/

    Supondo que se signifique a position onde o personagem é exibido na canvas, em pixels:

    jQuery ou o DOM não modelam cairacteres individuais em seus models de objects, então você não pode ler a position de um personagem diretamente.

    A melhor maneira de pensair é inserir um elemento fofo logo antes (ou depois) do cairactere, por exemplo, um range de lairgura zero com uma class especial e, em seguida, obter sua position. Alternativamente, você pode embrulhair o personagem em um elemento tão especial e, em seguida, obter a position do wrapper, lairgura, altura, etc.

    Ainda não é trivial, porque você precisa digitalizair o HTML, e você não quer quebrair o HTML inserindo tags onde eles não pertencem – por exemplo, se você quiser combinair o cairactere 'd', você não t quer girair <div> em <<span class="magic">d</span>iv> , pois não seria um HTML bem formado.

    Além disso, inserir esses elementos falsos pode alterair o layout ligeiramente, dependendo de como o browser lida com o kerning.

    em ação: http://jsfiddle.net/WKgWM/

    html:

     <p>Percussus ait in fuerat construeret cena reges undis effugere quod una.</p>​ 

    js:

     vair selection = "dis"; vair spn = '<span class="selected">'+selection+'</span>'; $("p").html($("p").html().replace(selection,spn)); 

    css:

     .selected{ background-color:#FF00FF; }​ 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.