javascript - react这两种写法有区别么
巴扎黑
巴扎黑 2017-04-11 09:02:32
[JavaScript讨论组]
<p id="example"></p>
   
    <script type="text/babel">
        ReactDOM.render(
      <p className="ss" >Hello, world!</p>,example
    );
    </script>
    <p id="example"></p>
   
    <script type="text/babel">
        ReactDOM.render(
      <p className="ss" >Hello, world!</p>,document.getElementById('example')
    );
    </script>
巴扎黑
巴扎黑

全部回复(3)
PHP中文网

有些老式浏览器,可以只用用id访问dom元素(假如:<p id="example"></p>),现在流行的浏览器有些不能这样调用。

ID的方式,你用这个浏览器可以用,不代表其他浏览器可以用,不代表这个浏览器以后可以用。

为了兼容性,最好是乖乖的用 document.getElementById('example'),这个已经是标准的一部分了,无论过去、还是未来,只要还存在浏览器这种载体,估计永远都可以使用。

测试了一下,大部分情况下,结果都是一样的
如果特殊的页面,对,就是这个问题页面:https://segmentfault.com/q/1010000007533523,写了两个 ID=icon4weChat 的p。
在控制台输入:icon4weChat,很多浏览器结果就不一样了:

IE9/IE11/Safari/Chrome/(Oprea假如还算):

icon4weChat[0] == document.getElementById('icon4weChat')

FireFox:

icon4weChat == document.getElementById('icon4weChat')
天蓬老师

第一个不能识别example节点吧

迷茫

本质上,ReactDOM.render()的第二个参数必须是一个DOM,如何获取这个DOM可以通过浏览器提供的DOM API,也可以是直接用id的名字,但是不推荐第二种方式

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

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