jQuery копирует объем текста и использует его как ширину

#jquery #copy #width

#jquery #Копировать #ширина

Вопрос:

Я пытаюсь скопировать текстовое значение span в значение ширины html, но я не могу заставить его работать?

С помощью приведенного ниже кода я смог дублировать текст, но как я могу установить его в качестве ширины элемента p?

 $('.duplicate').text(function() {
  return $(this).closest('ul li').find('em').text();
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>
    <p class="duplicate"></p>
    <em>100</em>
  </li>
  <li>
    <p class="duplicate"></p>
    <em>200</em>
  </li>
  <li>
    <p class="duplicate"></p>
    <em>300</em>
  </li>
</ul>  

Ответ №1:

Вам нужно применить функцию, чтобы вернуть значение width() , а не text() :

 $('.duplicate').width(function() {
  return $(this).closest('ul li').find('em').text();
});  
 p.duplicate {
  min-height: 10px; /* just for testing */
  background-color: #CCC;
}  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>
    <p class="duplicate"></p>
    <em>100</em>
  </li>
  <li>
    <p class="duplicate"></p>
    <em>200</em>
  </li>
  <li>
    <p class="duplicate"></p>
    <em>300</em>
  </li>
</ul>  

Комментарии:

1. Странно, я изменил это и протестировал с этим, но у меня это не сработало… но теперь я вижу, что это работает! Спасибо, товарищ по имени 😉