获取最后一个<;a>;使用javascript在元素中标记
考虑以下html获取最后一个<;a>;使用javascript在元素中标记,javascript,getelementbyid,Javascript,Getelementbyid,考虑以下html <p id="PgLnks"> <a></a> <a></a> <a></a> <a></a> <a></a> <P></P> <P></P> </p> 使用getElementByIdnotgetElementsById 使用index作为.querySelecto
<p id="PgLnks">
<a></a>
<a></a>
<a></a>
<a></a>
<a></a>
<P></P>
<P></P>
</p>
getElementById
notgetElementsById
index
作为.querySelectorAll('a:last child')[0]
然后使用.outerHTML
HTML
无效,因为p
元素可能不包含其他块元素。因此,当您检查呈现的html
时,您将看到总共四个p
标记,当第二个p
启动时,它将自动关闭现有的p
标记document.getElementById('PgLnks').querySelectorAll('a:最后一个子项')[0]。outerHTML
let lastA=document.getElementById('PgLnks').queryselectoral('a:last child')[0].outerHTML;
console.log(lastA)
sss
最后一个子项
仅当a
是最后一个子项时有效。也许你的意思是类型的最后一个
?:类型的最后一个
,而不是:最后一个孩子
。这是一个无效的HTMLAs@AlonEitan说,HTML是无效的。不能在另一个段落中包含段落,querySelectorAll
不返回DOM元素!请阅读文档。您是否提到HTML无效?谢谢,但是我的HTML中有空。您能检查一下吗?因为您的id
是ctl13\u ctl00\u PgLnks
&而不是PgLnks
。你应该使用document.getElementById(“”)
@Karan我知道id是不同的,我在在线编辑器中测试了你的代码,但是我通过WebView和C#codeWebView.ExecuteScriptAsync()
@miladghasemi在你的问题中添加了你如何使用WebView.ExecuteScriptAsync()的脚本,还有你得到的结果
document.getElementsById('PgLnks').querySelectorAll('a:last-child').outerHTML;