如何获得“这个”的价值?

时间:2013-02-18 04:10:29

标签: javascript jquery

我有这段代码:

HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>To Do</title>
        <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
        <script type="text/javascript" src="script.js"></script>
    </head>
    <body>
        <h2>To Do</h2>
        <form name="checkListForm">
            <input type="text" name="checkListItem"/>
        </form>
        <div id="button">Add!</div>
        <br/>
        <div class="list"></div>
    </body>
</html>

的Javascript / Jquery的:

$(document).ready(function()
{
 $(button).click(function(){
  var toAdd = $('input[name=checkListItem]').val();
  $('.list').append('<div class="item">' + toAdd + '</div>');

 });
 $(document).on('click','.item', function(){
   $(this).remove();
  });
});

此代码抓取用户的输入,在单击按钮时将其添加到列表中,并在div类项目中单击时从列表中删除输入。

我怎样才能使它能够返回“this”的值?

例如,如果我将单词“test”添加到列表中,然后单击它以将其删除....如何从“this”中获取test的值?

like .. document.write(this)返回[object HTMLDivElement]。

如果我在div中单击它,我希望document.write返回“test”。

我不能做document.write(toAdd),因为toAdd在第二个jquery(“on”)函数中不存在。 感谢。

3 个答案:

答案 0 :(得分:2)

$(document).ready(function () {
    $('#button').on('click', function () {
        var toAdd = $('input[name=checkListItem]').val();
        $('.list').append('<div class="item">' + toAdd + '</div>');

    });
    $(document).on('click', '.item', function () {
        alert( $(this).text() ); // You can have `.html()` here too.
        $(this).remove();
    });
});

小提琴链接is here

答案 1 :(得分:1)

使用.innerHTML

$(document).ready(function()
{
 $(button).click(function(){
  var toAdd = $('input[name=checkListItem]').val();
  $('.list').append('<div class="item">' + toAdd + '</div>');

 });
 $(document).on('click','.item', function(){
   document.write(this.innerHTML);
   $(this).remove();
  });
});

答案 2 :(得分:1)

您可以$(this).text()检索所点击项目中的文字。因此,在删除项目之前,您可以执行document.write($(this).text())之类的操作。