反应js中的Jquery触发器<ul> <li>

时间:2017-03-20 06:48:32

标签: reactjs

在反应js ES6中,onclick ul li

a个事件
<ul id="profiles">
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
</ul>

以上代码在点击时工作正常。但在身体负载上我想触发一个li链接的click事件。

我用于触发点击事件的代码是:

$("#profiles li:nth-child(2) a").click();

但上面写的jquery代码事件没有触发,请帮助我如何获取<li><a> </a></li>

之一的正文加载点击事件

1 个答案:

答案 0 :(得分:0)

假设getValue的paramter断言点击了哪个li's anchor元素,您可以直接在getValue函数中调用componentDidMount函数,如

componentDidMount() {
    this.getvalues('Second li');
}

由于你使用的是ES6,你可以调用ES6风格的react onClick函数,如

<ul id="profiles">
<li><a href="" onclick={this.getValue.bind(this,'parameter')}>Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')}">Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')}">Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')}">Some Text</a></li>
</ul>

如果你想坚持使用Jquery,你需要获得DOMNode之类的

$(ReactDOM.findDOMNode(this.myRefs[2])).click();

DOM

<ul id="profiles">
    <li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[0] = inp}>Some Text</a></li>
    <li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[1] = inp}>Some Text</a></li>
    <li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[2] = inp}>Some Text</a></li>
    <li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[3] = inp}>Some Text</a></li>
    </ul>