使用jQuery&更改HTML代码将其输出到文本框中

时间:2015-01-07 03:18:28

标签: jquery

我有一个HTML代码:

<ul>
     <li class="1"><a>Option #1</a></li>
     <li class="2"><a>Option #2</a></li>
</ul>

<textarea>Output the changed HTML-code here</textarea>

我有jQuery脚本,可以在点击时将<li>类名更改为“selected”:

$('ul li').click(function() {
    $(this).addClass('selected').siblings('li').removeClass('selected');
});

点击后,例如,选项#1,jQuery会将<li>类更改为“1 selected”,我需要将以下代码输出到textarea:

<ul>
     <li class="1 selected"><a>Option #1</a></li>
     <li class="2"><a>Option #2</a></li>
</ul>

如何将修改后的HTML代码输出到textarea?

2 个答案:

答案 0 :(得分:1)

更改类后,选择所需的父元素并将其HTML替换为textarea

$('ul li').on('click', function () {
    $(this).addClass('selected').siblings('li').removeClass('selected');
    $('textarea').html($(this).closest('.parent-element').html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent-element">
    <ul>
        <li class="1"><a>Option #1</a></li>
        <li class="2"><a>Option #2</a></li>
    </ul>
</div>
<textarea style="width: 100%; height: 400px;">Output the changed HTML-code here</textarea>

答案 1 :(得分:0)

这是giggles的另一种选择:

DEMO

select

$('ul').on('click', 'li', function () {

    $(this)
        .addClass('selected')
        .siblings('li')
        .removeClass('selected')
        .parent()
        .next('textarea')
        .val($(this).text());

});