Javascript 如何使用getElementByClassName获取父元素?

Javascript 如何使用getElementByClassName获取父元素?,javascript,jquery,innerhtml,Javascript,Jquery,Innerhtml,我有一个非常简单的问题,我有点惭愧自己不能解决它。 HTML: <div> <ul class="test"> <li>1</li> </ul> <ul class="test"> <li>2</li> </ul> </div> var tests = document.getElementsByClassN

我有一个非常简单的问题,我有点惭愧自己不能解决它。

HTML:

<div>
    <ul class="test">
        <li>1</li>
    </ul>
    <ul class="test">
        <li>2</li>
    </ul>
</div>
var tests = document.getElementsByClassName('test')[0].innerHTML;
alert(tests);

jsFiddle:

<div>
    <ul class="test">
        <li>1</li>
    </ul>
    <ul class="test">
        <li>2</li>
    </ul>
</div>
var tests = document.getElementsByClassName('test')[0].innerHTML;
alert(tests);

目前,结果显示我
  • 1
  • 这不是我想要的。我希望结果是
    • 1

    我尝试使用
    .parent()
    (我可以使用jQuery),但它给了我所有
    标记,而我只想要第一个。我也知道我可以使用一些
    .split()
    ,但这肯定不是建议的方法


    我认为问题可能来自
    .innerHTML
    ,有一个函数允许我恢复目标元素,而不仅仅是他的孩子?

    只需使用
    outerHTML
    而不是
    innerHTML

    var tests = document.getElementsByClassName('test')[0].outerHTML
    

    您可以对jQuery执行同样的操作
    $。每个
    迭代元素,然后使用
    ,使其仅指向该元素,而不是该类的所有元素

    jQuery

    var $tests = $('.test');
    
    $tests.each(function() {
        console.log(this.outerHTML)
    });
    

    只需使用
    outerHTML
    而不是
    innerHTML

    var tests = document.getElementsByClassName('test')[0].outerHTML
    

    您可以对jQuery执行同样的操作
    $。每个
    迭代元素,然后使用
    ,使其仅指向该元素,而不是该类的所有元素

    jQuery

    var $tests = $('.test');
    
    $tests.each(function() {
        console.log(this.outerHTML)
    });
    

    正如预期的那样,这是非常基本的,很抱歉显而易见。我会尽快接受你的回答。正如预期的那样,这是非常基本的,很抱歉显而易见。我会尽快接受你的回答。你为什么想要HTML呢?你打算用HTML做什么?你最终想做什么?为什么你想要HTML?你打算用HTML做什么?你最终想做什么?