如何在pyquery中获取单个CSS样式
你可以通过几种方法来设置一个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'
这听起来有点奇怪,不太方便,也不太像pyquery和python!前面提到的两种方法中,应该有一种能直接返回样式文本吧?
有没有办法单独获取一个CSS样式,而不需要使用像split()这样的工具呢?
3 个回答
1
从你的评论来看,你似乎已经搞明白了,但PyQuery并不提供这个功能。
css
这个方法(在pyquery.py的第824行)只能设置属性,不能获取属性,这真是有点遗憾。不过,考虑到PyQuery并不是在处理样式表,获取CSS的用处本来就有限。
目前,手动查看p.attr(style)
的结果似乎是最好的办法。我希望如果只传一个参数给css
方法时,能有一个获取CSS值的选项,但我们拭目以待吧。
1
你可以把这个字符串拆分开,然后把它转成一个字典。
1
p.css.font_size
这个可以用吗?