Как получить значение элемента в .html () - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь конвертировать цвет HEX в RGB.До сих пор это работало, но теперь я хочу получить значение элемента в моей функции html ().Вот что я получил:

    $(document).ready(function(){

      function convertHex(hex,opacity){
        hex = hex.replace('#','');
        r = parseInt(hex.substring(0,2), 16);
        g = parseInt(hex.substring(2,4), 16);
        b = parseInt(hex.substring(4,6), 16);

        result = ' - rgb('+r+', '+g+', '+b+')';
        return result;
      }
      $('h1').html(convertHex('#000000'));

    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="thecolor">#ef8605</span>
    <h1></h1>

Теперь #000000 следует заменить значением span с классом .thecolor.Может кто-нибудь помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Вы можете создать переменную и использовать .text(), чтобы получить значение

$(document).ready(function(){

      function convertHex(hex,opacity){
        hex = hex.replace('#','');
        r = parseInt(hex.substring(0,2), 16);
        g = parseInt(hex.substring(2,4), 16);
        b = parseInt(hex.substring(4,6), 16);

        result = ' - rgb('+r+', '+g+', '+b+')';
        return result;
      }
      var hex = $('.thecolor').text();
      $('h1').html(convertHex(hex));

    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="thecolor">#ef8605</span>
    <h1></h1>
0 голосов
/ 04 февраля 2019

Используйте $('.thecolor').html(), чтобы получить значение (я) элемента (ов), имеющих класс thecolor.

. Обратите внимание, что использование $('.thecolor').html() позволит получить HTML-теги, потенциально включенные в * 1006.*.Вместо этого вы можете использовать $('.thecolor').text() для получения содержимого без внутренних html-тегов.

Если у вас их много, вы можете использовать .each() для циклаих и .append(), чтобы добавить их к месту назначения

$(document).ready(function()
{
    function convertHex(hex,opacity)
    {
        hex = hex.replace('#','');
        r = parseInt(hex.substring(0,2), 16);
        g = parseInt(hex.substring(2,4), 16);
        b = parseInt(hex.substring(4,6), 16);

        result = ' - rgb('+r+', '+g+', '+b+')';
        return result;
    }
    $('.thecolor').each(function()
    {
        $('h1').append(convertHex($(this).html()));
        // $('h1').append(convertHex($(this).text())); <-- or this one if you may have html tags in the containers $('h1')
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="thecolor">#ef8605</span>
<span class="thecolor">#ffffff</span>
<h1></h1>
...