> 웹 프론트엔드 > HTML 튜토리얼 > Jade模板引擎(一)之Attributes_html/css_WEB-ITnose

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

WBOY
풀어 주다: 2016-06-24 11:31:49
원래의
1330명이 탐색했습니다.

目录:

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

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

    1. js表达式

        jade: 

    - var authenticated = truea(class=authenticated ? 'authed' : 'anon')
    로그인 후 복사

    html:

    <a class="authed"></a>
    로그인 후 복사

    2. 多属性换行

    jade:

    input(  type='checkbox'  name='agreement'  checked)
    로그인 후 복사

    html:

    <input type="checkbox" name="argeement" checked="checked" />
    로그인 후 복사

    3. 非转义属性(Unescaped Attributes)

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

    jade:

    div(escaped="<code>")div(unescaped="<code>")
    로그인 후 복사

    html:

    <div escaped="<code>"></div><div unescaped="<code>"></div>
    로그인 후 복사

    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())
    로그인 후 복사

    html:

    <input type="checkbox" checked="checked" /><input type="checkbox" checked="checked" /><input type="checkbox" /><input type="checkbox" checked="true" />
    로그인 후 복사

    Style Attributes

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

    jade:

    a(style={color: 'red', background:'green'})
    로그인 후 복사

    html:

    <a style="color:red;background:green"></a>
    로그인 후 복사

    Class Attributes

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

    jade:

    - var classes = ['foo', 'bar', 'baz']a(class=classes)a.bing(class=classes class=['bing'])
    로그인 후 복사

    html:

    <a class="foo bar baz"></a><a class="bing foo bar baz bing"></a>
    로그인 후 복사

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

    jade:

    - var currentUrl = '/about'a(class={active: currentUrl === '/'} href='/') Homea(class={active: currentUrl === '/about'} href='/about') About
    로그인 후 복사

    html:

    <a href="/">Home</a><a href="/about" class="active">About</a>
    로그인 후 복사

    &Attributes

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

    jade:

    - var attributes = {'data-foo': 'bar'}div#foo(data-bar='foo')&attributes(attributes)
    로그인 후 복사

    html

    <div id="foo" data-bar='foo' data-foo='bar'></div>
    로그인 후 복사

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

    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿