javascript - react如何获取点击dom的数据?
天蓬老师
天蓬老师 2017-04-11 10:04:04
[JavaScript讨论组]

做了一个组件用react遍历出来然后想获取每次点击不同个时候的不同数据该怎么做呢?

const Skill = React.createClass({
   getInitialState: function() {
    return {
      data: [{
        "ID":"1",
        "URL": "./public/images/skill.jpg",
        "TITLE":"Helloweba1",
        "SUBTEXT":"WEB前端应用教程+演示+源码hhhhhhhsd看没得嘛",
        "HREF":"javascript:void(0)"
      }, {
        "ID":"2",
        "URL": "./public/images/skill.jpg",
        "TITLE":"Helloweba2",
        "SUBTEXT":"WEB前端应用教程+演示+源码hhhhhhhsd看没得嘛",
        "HREF":"javascript:void(0)"
      }, {
        "ID":"3",
        "URL": "./public/images/skill.jpg",
        "TITLE":"魅族pro5随时拍",
        "SUBTEXT":"魅族PRO 5在上年的发布至今已经有了半年多的时间了,PRO 5它不是一款完美的手机,但却是我最满意的魅族手机之一,也是我心中当之无愧的2015国产旗舰手机,它伴随着我走过了半年的时光,这半年的点滴,就让我用随手拍来回忆,看看我与PRO 5走过的半年。",
        "HREF":"javascript:void(0)"
      }, {
        "ID":"4",
        "URL": "./public/images/skill.jpg",
        "TITLE":"Helloweba3",
        "SUBTEXT":"WEB前端应用教程+演示+源码hhhhhhhsd看没得嘛",
        "HREF":"javascript:void(0)"
      }, {
        "ID":"5",
        "URL": "./public/images/skill.jpg",
        "TITLE":"魅族pro5随时拍",
        "SUBTEXT":"魅族PRO 5在上年的发布至今已经有了半年多的时间了,PRO 5它不是一款完美的手机,但却是我最满意的魅族手机之一,也是我心中当之无愧的2015国产旗舰手机,它伴随着我走过了半年的时光,这半年的点滴,就让我用随手拍来回忆,看看我与PRO 5走过的半年。",
        "HREF":"javascript:void(0)"
      }]
    }
  },
  handleOpen(){
      window.open("details.html");
      //这里该怎么获取所点击元素的URL、TITLE等数据?
  },
  render() {
    return (
    <p className="photo">
      <h2 className="lastest-title-photo">最新作品
      </h2>
      <Row className="skill">
           {
          this.state.data.map(function(res){
              return <Col span="24" key={res.ID} ref="myTextInput">
                <p className="slil-card" >
                  <p className="skill-img" onClick={this.handleOpen}>
                    <img src={res.URL} />
                  </p>
                  <p className="skill-content">
                    <h2 className="skill-title"><span onClick={this.handleOpen}>{res.TITLE}</span></h2>
                    <p className="skill-subtext">{res.SUBTEXT}</p>
                  </p>
                </p>             
                 </Col>
          },this)
        } 
      </Row>
    </p>
    );
  }
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
阿神
onClick={this.handleOpen.bind(this,res)}

handleOpen(res) {
 //改成你想要的
 console.log(res);
}
巴扎黑

可以通过target来获取点击到的元素

handleOpen(event){
      console.log(event.target.className)//输出节点的className
      console.log(event.target.innerHTML)//输出节点的html

      console.log(event.target)// 这个可以看到target中的所有方法
  },
阿神

把点击事件放最外层,点击时候获取当前元素 index,然后根据 index 到数组里取对应的数据

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号