2015-03-21 2 views
0

Как я могу получить фактический размер шрифта элемента # t1? Это явно 26px, но во всех браузерах я получаю 16px.Как я могу получить размер шрифта элемента с помощью jQuery?

<div class="editor">Hello <span id="t1">my</span><br>dear <span id="t2">world</span></div> 

<button id="test">TEST</button> 

<style> 
.editor 
{ 
    font-size: 16px; 
} 
.editor:first-line 
{ 
    font-size: 26px; 
} 
</style> 

<script> 
$('#test').click(function() 
{ 
    alert($('#t1').css('font-size') + ' vs ' + $('#t2').css('font-size'));  
}); 
</script> 

Demo on JS Fiddle

+0

Это должно помочь вам http://api.jquery.com/css/ – Manoj

ответ

1

вы должны писать в своем стиле .editor {размер шрифта: 16px;} Эта строка установить размер шрифта для всех его дочерних теге Вот почему его всегда дают 16,

вместо .editor: first-line {font-size: 26px;} для этого использования нужно написать # t1 {font-size: 26px;}. он даст вам идеальный размер.

+0

Но проблема: я не могу изменить CSS, ни HTML. Все браузеры отображают первую строку элемента .editor в 26px, но возвращают 16px. – Tom

+0

ОК .. Если вы просто хотите установить размер, тогда вы можете написать простой $ ('# t1'). Css ('font-size', '26px'); ans same for t2 –

+0

Спасибо, но это не поможет. Элемент # t1 можно поместить в любом месте в .editor посетителем моего сайта (используя Javascript). И тогда мне нужно будет указать размер шрифта элемента. – Tom

1

Вопрос здесь - Как получить стиль из псевдоэлемента.

var fontSize = window.getComputedStyle(
    document.querySelector('.editor'), ':first-line' 
    ).getPropertyValue('font-size'); 

http://jsfiddle.net/troythompson/mrz3uh8x/

http://davidwalsh.name/pseudo-element

How do I access style properties of pseudo-elements with jQuery?

+0

Не совсем. Я просто хочу получить размер шрифта элемента # t1. Это может быть где угодно в DOM. Что, если посетитель переместит его во вторую строку .editor? Я должен будет добавить некоторые специальные обработки таких случаев. Кажется, все браузеры ARE buggy, и нет никакого способа получить реальный размер шрифта элемента без сложных трюков. – Tom

+0

Почему используется первая линия? Почему вам нужно восстановить стиль псевдоэлемента? –