获取最后一个<;a>;使用javascript在元素中标记

获取最后一个<;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

考虑以下html

<p id="PgLnks">
<a></a>
<a></a>
<a></a>
<a></a>
<a></a>
<P></P>
<P></P>
</p>
  • 使用
    getElementById
    not
    getElementsById
  • 使用
    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#code
    WebView.ExecuteScriptAsync()
    @miladghasemi在你的问题中添加了你如何使用WebView.ExecuteScriptAsync()的脚本,还有你得到的结果
    document.getElementsById('PgLnks').querySelectorAll('a:last-child').outerHTML;