Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React-单击时获取div的文本,不带引用_Javascript_Html_Reactjs - Fatal编程技术网

Javascript React-单击时获取div的文本,不带引用

Javascript React-单击时获取div的文本,不带引用,javascript,html,reactjs,Javascript,Html,Reactjs,是否有一个示例,可以在不使用refs的情况下检索React元素的值?可能吗 var Test = React.createClass({ handleClick: function() { alert(this.text); }, render: function() { <div className="div1" onClick={this.handleClick}> HEkudsbdsu </div> } }) var Test=R

是否有一个示例,可以在不使用refs的情况下检索React元素的值?可能吗

var Test = React.createClass({

  handleClick: function() {
    alert(this.text);
  },
  render: function() {
    <div className="div1" onClick={this.handleClick}> HEkudsbdsu </div>
  }
})
var Test=React.createClass({
handleClick:function(){
警报(this.text);
},
render:function(){
赫库德苏
}
})

我想您可以使用
ReactDOM.findDOMNode(这个)
,然后从中获取其
内部文本
或任何您需要的内容

var Hello = React.createClass({
  handleClick: function() {
    var domNode = ReactDOM.findDOMNode(this);
    alert(domNode.innerText);
  },
  render: function() {
    return <div className="div1" onClick={this.handleClick}> HEkudsbdsu </div>
  }
});
var Hello=React.createClass({
handleClick:function(){
var domNode=ReactDOM.findDOMNode(this);
警报(domNode.innerText);
},
render:function(){
返回Hekudsu
}
});
这是一个有点跑龙套的方式做它,但它会工作


请注意,在0.14 React之前,您将只使用
React
,而不是
ReactDOM
,我找到了一个有效的答案:

var Hello = React.createClass({
  handleClick: function(event) {
    alert(event.currentTarget.textContent);
  },
  render: function() {
    return <div className="div1" onClick={this.handleClick}> HEkudsbdsu </div>
  }
});
var Hello=React.createClass({
handleClick:函数(事件){
警报(event.currentTarget.textContent);
},
render:function(){
返回Hekudsu
}
});
试试这种方法

handleMenuItemClick = (event) => {
  console.log(event.target.textContent);
};

<option onClick={event => this.handleMenuItemClick(event)}>
  item
</option>
handleMenuItemClick=(事件)=>{
console.log(event.target.textContent);
};
this.handleMenuItemClick(事件)}>
项目

如果要检索文本,请使用
innerText
属性,如果是html–
innerHTML

例如:

handleClick: function(e) {
  alert(e.currentTarget.innerHTML);
}

似乎不起作用。我得到了一个未定义的alert@AshwinVenkataraman您正在运行哪个版本的React?如果是当前版本,则需要在组件中导入
ReactDOM
。我正在运行最新版本。我使用此链接导入脚本文件:,对于React dom-@AshwinVenkataraman,当您
console.log
out
domNode
时会发生什么?节点是否可查找?有文字吗?你能提供更多关于这里缺少什么的信息吗?这对我来说不起作用,但是@Ikram-Ud-Daula的答案应该是
event.target.textContent
React API中不存在当前目标