2015-10-26 21 views
1

我有一個陣營組成部分的鏈接:獲取包裝的DOM元素從一個方法屬性在陣營

<a href="#goals-tab" className={ this.setTabStyle()}>Goals</a> 

現在,裏面setTabStyle方法,我可以訪問a元素的屬性,如href沒有明確地傳遞作爲參數的方法?

+0

我不知道這個React,但沒有使用它,你可以創建一個函數來獲取或編輯元素attrs(使用[element] .getAttribute([attr])和setAttribute([attr],[value])) 。 – Hydro

+0

'function getClass(e,c){return e.getAttribute(c);}' – Hydro

+0

'Goals' – Hydro

回答

0

如果使用ref,則組件呈現DOM 而沒有樣式,然後應用新樣式。所以用戶會注意到樣式的變化。

我會建議通過鏈接作爲參數setTabStyle(link),或使鏈接你的組件的另一支柱:

var Component = React.createClass({ 
    handleClick: function (e) { 
     console.log(e.currentTarget.getAttribute('href')); 
    }, 

    setTabStyle: function() { 
     if (this.props.link == this.props.activelink) { 
      return myActiveLinkStyle 
     } else { 
      return myInactiveLinkStyle 
     } 
    }, 

    render: function() { 
     return <a href={this.props.link} style={this.setTabStyle()} onClick={this.handleClick}>Click</a>; 
    } 
}); 

這樣一來,你從初始加載合適的款式..