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做什么?你最终想做什么?