我是初学者。 我想在单击按钮时显示上一个元素的HTML。
我可以使用outerHTML属性显示按钮的HTML内容。但是当我对当前对象使用prev()函数时,它显示错误。
var xedit = $(this).parent().nextUntil( "movs-editlink" );
上面的代码给出了当前按钮的html内容。 (单击)显示为警报。
但
function show(currentObject) {
alert($(currentObject)[0].outerHTML);
}
上面的代码给我错误!! 错误:TypeError:$(...)[0]未定义
下面是html
function show(currentObject) {
var prevObject = $(currentObject).prev();
alert($(prevObject)[0].outerHTML);
}
有没有办法做得对?
答案 0 :(得分:2)
您可以使用.prev().html()
获取上一个元素html,查看下面的更新代码段。
alert($('.currentItem').prev().html())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item1">Previous Element</div>
<div class="item1 currentItem">Current Element</div>
答案 1 :(得分:1)
如果您想使用纯Javascript,请使用 previousElementSibling
document.getElementById('foo').addEventListener('click', currentObject);
function currentObject() {
alert(this.parentNode.previousElementSibling.outerHTML);
}
&#13;
body {
font: 13px Verdana;
}
&#13;
<div class="row">
<div class="col-md-12"><a class="navbar-link" href="/somelink">linktext</a></div>
<div class="col-md-12">
<p>click below button</p>
</div>
<div class="col-md-4"><button class="btn btn-primary" id="foo">Click</button></div>
</div>
&#13;