Javascript 如何复制和通知子元素

Javascript 如何复制和通知子元素,javascript,jquery,Javascript,Jquery,$('h1')。单击(函数(){ var span=$(this.find('.secondary'); 警报(span); }) 你好 世界 您的解决方案存在一些问题: 警报span的,而不仅仅是JQuery span对象 .secondary而不是选择器的secondary(表示它是一个类,请阅读更多) 使用这将确保JQuery已加载并准备好使用,并且在运行任何JQuery之前已加载所有元素 最后,解决了所有这些问题后,您的代码应该如下所示: $(文档).ready(函数(){ $('h

$('h1')。单击(函数(){
var span=$(this.find('.secondary');
警报(span);
})

你好
世界

您的解决方案存在一些问题:

  • 警报
    span的
    ,而不仅仅是JQuery span对象
  • .secondary
    而不是选择器的
    secondary
    表示它是一个类,请阅读更多)
  • 使用这将确保JQuery已加载并准备好使用,并且在运行任何JQuery之前已加载所有元素
  • 最后,解决了所有这些问题后,您的代码应该如下所示:

    $(文档).ready(函数(){
    $('h1')。单击(函数(){
    var span=$(this.find('.secondary');
    警报(范围[0]。outerHTML);
    });
    });
    
    
    你好
    世界
    
    您需要的是当前选定元素的外部HTML。jQuery中没有用于此的直接函数,因此您需要:

  • 首先用另一个元素包装它
  • 然后向上转到包装器元素
  • 现在可以使用
    html()
    获取这个包装器元素的内部html,它实际上是原始元素的外部html
  • 您可以使用jQuery的方法创建一个副本并对该克隆元素执行操作,从而保持原始元素的原样

    $('h1')。单击(函数(){
    var span=$(this.find('.secondary').clone().wrap('').parent().html();
    警报(span);
    })
    
    你好
    世界
    
    要将html元素作为字符串抓取,请执行以下操作:

    document.documentElement.outerHTML

        <script>
            $('h1').click(function () {
                var span = document.find('secondary').outerHTML;
                alert(span);
            })
        </script>
    
    
    $('h1')。单击(函数(){
    var span=document.find('secondary').outerHTML;
    警报(span);
    })