Jade模板引擎(一)之Attributes_html/css_WEB-ITnose

WBOY
Freigeben: 2016-06-24 11:31:49
Original
1295 Leute haben es durchsucht

目录:

  • Attributes
  • Boolean Attributes
  • Style Attributes
  • Class Attributes
  • &Attributes
  • Attributes

    jade中的属性和html中的属性并没有什么太大区别, 值也和js的规则没有什么两样。

    1. js表达式

        jade: 

    - var authenticated = truea(class=authenticated ? 'authed' : 'anon')
    Nach dem Login kopieren

    html:

    <a class="authed"></a>
    Nach dem Login kopieren

    2. 多属性换行

    jade:

    input(  type='checkbox'  name='agreement'  checked)
    Nach dem Login kopieren

    html:

    <input type="checkbox" name="argeement" checked="checked" />
    Nach dem Login kopieren

    3. 非转义属性(Unescaped Attributes)

    默认情况下, 所有属性都是转义过的。这样做是为了安全起见,防止XSS攻击。如果需要使用特殊字符,可以使用"!="替代"="。

    jade:

    div(escaped="<code>")div(unescaped="<code>")
    Nach dem Login kopieren

    html:

    <div escaped="<code>"></div><div unescaped="<code>"></div>
    Nach dem Login kopieren

    Boolean Attributes

    在jade中, 属性值可以是bool值(true or false), 不设置值则默认是true。

    jade:

    input(type='checkbox', checked)input(type='checkbox', checked=true)input(type='checkbox', checked=false)input(type='checkbox', checked=true.toString())
    Nach dem Login kopieren

    html:

    <input type="checkbox" checked="checked" /><input type="checkbox" checked="checked" /><input type="checkbox" /><input type="checkbox" checked="true" />
    Nach dem Login kopieren

    Style Attributes

    style属性可以是一个string也可以是一个object。比如json格式的对象形式。

    jade:

    a(style={color: 'red', background:'green'})
    Nach dem Login kopieren

    html:

    <a style="color:red;background:green"></a>
    Nach dem Login kopieren

    Class Attributes

    class属性可以是一个string也可以是一个定义的class的数组对象。

    jade:

    - var classes = ['foo', 'bar', 'baz']a(class=classes)a.bing(class=classes class=['bing'])
    Nach dem Login kopieren

    html:

    <a class="foo bar baz"></a><a class="bing foo bar baz bing"></a>
    Nach dem Login kopieren

    同样可以通过使用条件的形式来实现。

    jade:

    - var currentUrl = '/about'a(class={active: currentUrl === '/'} href='/') Homea(class={active: currentUrl === '/about'} href='/about') About
    Nach dem Login kopieren

    html:

    <a href="/">Home</a><a href="/about" class="active">About</a>
    Nach dem Login kopieren

    &Attributes

    &attributes可以将其两边的属性对象都加入到元素当中。

    jade:

    - var attributes = {'data-foo': 'bar'}div#foo(data-bar='foo')&attributes(attributes)
    Nach dem Login kopieren

    html

    <div id="foo" data-bar='foo' data-foo='bar'></div>
    Nach dem Login kopieren

    注: 在使用&attributes的情况下, 它并没有实现自动转义。所以需要通过一定的手段来确保你的页面不会出现XSS漏洞。

    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage