Как получить индивидуальный стиль CSS в Pyquery - PullRequest
7 голосов
/ 17 февраля 2011

Вы можете установить стиль css несколькими способами:

p = PyQuery('<p></p>')
p.css('font-size','16px')
p.css(['font-size'] = '16px'
p.css = {'font-size':'16px'}

Отлично, но как получить индивидуальный стиль css?

p.css('font-size') # jquery-like method doesn't work
[<p>]
p.css['font-size'] # pythonic method doesn't work!
[<p>]
p.css.font_size # BeardedO's suggestion.
[<p>]
p.attr('style')    # too much information.
'font-size: 16px; font-weight: bold'

Это кажется странным, неудобным, непонятным и не похожим на python!Конечно, один из первых двух должен вернуть текст стиля?

Есть ли способ получить один стиль CSS в одиночку, не прибегая к таким инструментам, как split ()?

Ответы [ 3 ]

1 голос
/ 24 мая 2013

Вы можете разбить строку и преобразовать ее в диктовку.

1 голос
/ 24 мая 2013

Из вашего комментария следует, что вы уже поняли это, но PyQuery не предоставляет эту функциональность.

Метод css (строка 824 в pyquery.py) только устанавливает атрибуты и не может извлечь, что является позором.Хотя, учитывая, что PyQuery не работает с таблицей стилей, утилита получения CSS в любом случае ограничена.

Ручная сортировка результатов p.attr(style) представляется наилучшим способом на данный момент.Я хотел бы видеть опцию для получения значений CSS, если только один аргумент передается методу css, но мы увидим.

1 голос
/ 17 февраля 2011

p.css.font_size

Это работает?

...