jQuery find元素基于数据属性值不起作用

时间:2016-03-13 11:46:29

标签: javascript jquery

我有一个包含以下元素的html页面:

message = $('span.emojitext').find('[data-reactid=".0.0:$main.4.3.0.0.0.$393382905560@c=1us.$393382905560@c=1us.0.1.1.0.$status"]').html();
console.log(message);

我试图通过此选择器获取内容

undefined

但它会返回How are you?。乍一看,我的代码看起来是正确的,即使通过查看SO上的其他问题,因此我无法理解为什么它不返回其内容应该是$document.scrollTo(document.getElementById('my_id'), 70);

有任何线索吗?

2 个答案:

答案 0 :(得分:3)

您的选择器不正确,因为span.emojitext是具有该属性的元素,因此您无需使用find()

message = $('span.emojitext[data-reactid=".0.0:$main.4.3.0.0.0.$393382905560@c=1us.$393382905560@c=1us.0.1.1.0.$status"]').html();
console.log(message);

Working example

答案 1 :(得分:0)

使用.attr()代替off find()

message = jQuery('span.emojitext').attr('data-reactid','.0.0:$main.4.3.0.0.0.$393382905560@c=1us.$393382905560@c=1us.0.1.1.0.$status').html();
console.log(message);