Javascript 按数据id获取innerHtml
我有很多Javascript 按数据id获取innerHtml,javascript,html,innerhtml,Javascript,Html,Innerhtml,我有很多和特定的数据id,想先得到 例如,在这个示例中,它将是:“世界” 也许您想使用firstElementChild而不是firstChild 或者您可以使用CSS选择器[data id=“1123066248731271”]>div:first child: var target = $('[data-id="1123066248731271"] > div:first-child'); alert(target.innerHTML); 编辑: 我注意到一个翻译错误。我自己
和特定的数据id
,想先得到
例如,在这个示例中,它将是:“世界”
也许您想使用
firstElementChild
而不是firstChild
或者您可以使用CSS选择器[data id=“1123066248731271”]>div:first child
:
var target = $('[data-id="1123066248731271"] > div:first-child');
alert(target.innerHTML);
编辑:
我注意到一个翻译错误。我自己不使用jQuery,所以我使用了document.querySelector
,而不是$
。但是,$
的行为对应于document.querySelectorAll
。对不起
这应该很好:
var target = $('[data-id="1123066248731271"] > div:first-child')[0];
alert(target.innerHTML);
或者这个:
var target = document.querySelector('[data-id="1123066248731271"] > div:first-child');
alert(target.innerHTML);
作为非jQuery用户,我个人更喜欢后者。第一个问题$('[data id=“1123066248731271]”)
返回了一个包含所有元素的对象,其中包含[data id=“1123066248731271]”。对于第一个元素,您需要在“$”(“[data id=“1123066248731271]”)之后添加[0]。[0]
现在,如果要将div元素作为目标,需要将div指定为$like:$('[data id=“1123066248731271”]div')[0]
。现在,您得到了第一个div,您可以使用:target.innerHTML
完整代码:
var target = $('[data-id="1123066248731271"] div')[0];
alert(target.innerHTML);
没有Jquery(我认为更简单):
也许这就是你需要的 作为一个jquery元素,您可以使用
find()
方法查找他内部的所有div
元素,使用first()
,您得到第一个元素,最后,使用html()
,您得到它的内容
var target=$('[data id=“1123066248731271]”);
警报(target.find('div').first().html())代码>
World
这是否回答了您的问题?可能jQuery没有.firstChild属性。您会收到什么错误消息?该元素的innerHTML
将不是“World”;这可能是World
您可能需要使用函数获得的文本。这可能也适用。但是请注意,它可能会返回整个li
元素的内部文本内容,而不仅仅是第一个div
。(但如果只有第一个div
包含文本内容就可以了,我想。)这个答案对我不适用,它是show“undefined”,无论如何,谢谢。
var target = $('[data-id="1123066248731271"] > div:first-child')[0];
alert(target.innerHTML);
var target = document.querySelector('[data-id="1123066248731271"] > div:first-child');
alert(target.innerHTML);
var target = $('[data-id="1123066248731271"] div')[0];
alert(target.innerHTML);
var target = document.querySelector('[data-id="1123066248731271"] div');
alert(target.innerHTML);