使用jquery显示上一个元素的html?

时间:2018-01-04 09:40:53

标签: javascript jquery html

我是初学者。 我想在单击按钮时显示上一个元素的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);
        }

有没有办法做得对?

2 个答案:

答案 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

&#13;
&#13;
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;
&#13;
&#13;