全球主机交流论坛

标题: 哪位大佬对JQuery 熟悉,有个问题 [打印本页]

作者: names    时间: 2018-3-17 21:37
标题: 哪位大佬对JQuery 熟悉,有个问题
本帖最后由 names 于 2018-3-18 16:22 编辑

// 结帖,因为网页是ReactJS,通过JQ无法修改,感谢各位大佬回答,因为风铃大佬回答最早,并且可以在demo上通过,非常感谢各位。


想添加 div ccccc里面的内容,该怎么修改,最外层的<div aaa-ppppp-bbbb> 没有id,只有这样的一个唯一可以识别的字符.
实际网页环境是 ReactJS


<div aaa-ppppp-bbbb>
<div class="selected">
<div class="ccccc">
<p>xxxxxx</p>
</div>
</div>
</div>


<script>
var txt="<p>Update</p>";
$("div:contains(aaa-ppppp-bbbb)").children(".ccccc").append("txt");
</script>


作者: 风铃    时间: 2018-3-17 21:37
names 发表于 2018-3-17 22:13
实际网页环境是 ReactJS,数据依然改不掉
自己写的简单测试环境没问题


ReactJS 是数据驱动的啊. 你得去改数据而不是改页面啊, 这两者概念不一样

普通js想的是如何通过js更改页面,
ReactJS 这类, 你应该想的是如何修改数据, 然后页面会自动渲染出来的, 所以你强制修改了页面, 框架马上就根据内部数据修改回去了
作者: 风铃    时间: 2018-3-17 21:38
$('.ccccc')
作者: names    时间: 2018-3-17 21:39
风铃 发表于 2018-3-17 21:38
$('.ccccc')

ccccc 有很多重复的,没法用这个
必须选择特定的aaa-ppppp-bbbb下的ccccc
作者: 龙腾宇内    时间: 2018-3-17 21:42
你百度下jquery选择器就可以了

http://www.w3school.com.cn/jquery/jquery_selectors.asp
http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp
作者: 风铃    时间: 2018-3-17 21:44
names 发表于 2018-3-17 21:39
ccccc 有很多重复的,没法用这个
必须选择特定的aaa-ppppp-bbbb下的ccccc


$('div[aaa-ppppp-bbbb]').find(".ccccc").append("txt");
作者: micto    时间: 2018-3-17 21:52
本帖最后由 micto 于 2018-3-17 21:56 编辑

根据具体的HTML结构来选择,一般有以下几种选择。

  1. $('.selected .ccccc');

  2. $('[aaa-ppppp-bbbb] .ccccc');

  3. $('[aaa-ppppp-bbbb] .selected .ccccc');
复制代码

作者: 专收爆米花    时间: 2018-3-17 22:04
马克下
作者: names    时间: 2018-3-17 22:10
风铃 发表于 2018-3-17 21:44
$('div[aaa-ppppp-bbbb]').find(".ccccc").append("txt");

试了一下,demo可以运行通过,实际网页环境不行,
实际网页环境是 ReactJS
作者: names    时间: 2018-3-17 22:13
micto 发表于 2018-3-17 21:52
根据具体的HTML结构来选择,一般有以下几种选择。


实际网页环境是 ReactJS,数据依然改不掉
自己写的简单测试环境没问题
作者: J3n5en    时间: 2018-3-18 00:40
本帖最后由 J3n5en 于 2018-3-18 00:44 编辑

$("[aaa-ppppp-bbbb] .ccccc").append("txt");

你确定你要在react里面操作DOM??
你确定你要在react里面用JQuery??


======
确定要用的话操作dom也要在componentDidMount以后
作者: xuliliang    时间: 2018-3-18 02:01
本帖最后由 xuliliang 于 2018-3-18 06:07 编辑

如楼上说的, ReactJS 是数据驱动的. 如果非必要情况, 最好是由 ReactJS 本身来维护渲染视图.

另外jQuery获取元素
  1. <div aaa-ppppp-bbbb>some el..</div>
复制代码

相应的 selector是
  1. $("div[aaa-ppppp-bbbb]")
复制代码


可以参考这里: http://api.jquery.com/category/selectors/
------------------------------------------------------------------------------------------------------------------------------------
编辑+: 看了楼上的回答, 已经可以结帖了. 来晚了, 囧.
作者: names    时间: 2018-3-18 16:14
xuliliang 发表于 2018-3-18 02:01
如楼上说的, ReactJS 是数据驱动的. 如果非必要情况, 最好是由 ReactJS 本身来维护渲染视图.

另外jQuery获 ...

谢谢大佬,我是想做个油猴插件,代码都xie好了,就按钮加不上,无奈对WEB没了解,
作者: itbobo    时间: 2018-3-18 16:19
$("div[aaa-ppppp-bbbb] .selected .ccccc").append(txt);
.append("txt");
这里也要注意一下:
.append(txt);
作者: names    时间: 2018-3-18 16:20
itbobo 发表于 2018-3-18 16:19
$("div[aaa-ppppp-bbbb] .selected .ccccc").append(txt);
.append("txt");
这里也要注意一下:

谢谢大佬回答,发现网页是ReactJS驱动注入,通过JQ没法改




欢迎光临 全球主机交流论坛 (https://loc.1226.eu.org/) Powered by Discuz! X3.4