Выделение HTML жирным шрифтом не отображается

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

Я пишу элемент управления автозаполнением, и я дошел до того, что создаю <ul> с результатами веб-сервиса. Я продолжаю и пытаюсь применить мое выделение жирным шрифтом на сервере и возвращаю его клиенту в виде строки, которая будет просто введена в новый <li>

Моя проблема в том, что выделение жирным шрифтом не отображается, это выглядит так, как должно быть, но это не так.

Вот что я делаю

 $this.append($('<li>').html(obj.value))
  

В этом примере: $this = UL как объект jquery. и

 obj.value = "<b>H</b><b>S</b>OU"
  

Firebug показывает это следующим образом:

 <ul>
  <li>
    <b>H</b>
    <b>S</b>
    OU
  </li>
</ul>
  

ОБНОВЛЕНИЕ: как ни странно, оно отображается в IE, но не в Chrome / Firefox.

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

1. Что firebug говорит о вычисляемом css?

2. Эти два символа не должны быть выделены жирным шрифтом? Или они не отображаются жирным шрифтом, но HTML указан правильно?

3. Нет, они должны быть выделены жирным шрифтом, но они не отображаются жирным шрифтом

4. И вычисленный стиль показывает вес шрифта 400

Ответ №1:

Выходной HTML-код выглядит правильно для меня?

Возможно, у вас есть директива CSS, подавляющая обычную визуализацию выделенного жирным шрифтом текста. Проверьте элемент с текстом H (также в Firebug) и посмотрите, какие стили к нему применяются.

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

1. Я не вижу ничего, что могло бы это подавить. И я думаю, что если бы это было так, это не работало бы в IE так, как сейчас. В IE выделение жирным шрифтом отображается правильно.

2. @Collin: Живой пример был бы полезен.

3. @Tomalak Я создал рабочий пример, но он работает 🙂 Я использую сброс CSS, найденный здесь meyerweb.com/eric/tools/css/reset в этом проблема

4. @Collin: Если вы не можете воспроизвести проблему, то я не думаю, что мы сможем помочь вам ее решить.

5. @Collin вы могли бы сбросить выделение жирным шрифтом в css (после сброса css, конечно) b { вес шрифта: 700; }

Ответ №2:

Единственное, о чем я могу думать, это о том, что у вас есть сброс CSS, который удаляет значение полужирного шрифта <b> .

Однако, если это так, это будет означать, что все ваши <b> действия не соответствуют ожиданиям.

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

1. Это не так; такая директива может зависеть от происхождения элемента. Рассмотрим селектор ul > li > b .

2. @Tomalak, да, но в данном случае это означало бы, что автор добровольно удалил форматирование B специально для этого экземпляра, а затем забыл об этом. Не слишком вероятно. Гораздо более вероятно, что это один большой сброс, который был вырезан и вставлен в файл css.

3. @Sylverdrag: Как вы сами сказали, это коснулось бы всего такого b . ul > li > b может повлиять на оформление в другом месте страницы; возможно, такой селектор не предназначался специально для этого экземпляра.

4. @Tomalak: Возможно, я ошибаюсь, но я ожидаю, что кто-то, способный писать ul > li > b , поймет, что это может быть применено где-то неожиданно. Селектор отличается от сброса тем, что сбросы становятся общими и используются повторно, тогда как селекторы обычно пишутся специально для страницы.

5. @Sylverdrag: Конечно, но простой факт заключается в том, что что-то не так , иначе вопрос не был бы опубликован. Поэтому предположения о том, что никто из участников не допустил ошибки, кажутся немного надуманными. 🙂