如何获取click()函数中元素的值?

时间:2019-01-04 17:43:16

标签: javascript jquery laravel-5

我正在创建一个与我的名字相关的所有保存的AI程序的列表,这样可以很好地工作:

@foreach ($ais as $ai)
    <a href='#' class='saved-ai'>{{ $ai }}</a> <br />
@endforeach

然后我有了一个jQuery脚本,该脚本旨在将名称的值附加到输入框。

<script>
    jQuery(document).ready(function(){
        $('.saved-ai').click(function() {
            $('#ainame').val(this.html());
        });
    });
</script>

我尝试调试this来查看其内容以及其行为为何奇怪的原因,但是我在控制台中得到了此信息:

<a href="#" class="saved-ai" name="Languages">Languages</a>

我收到的错误是:

Uncaught TypeError: this.html is not a function
    at HTMLAnchorElement.<anonymous> (home:107)
    at HTMLAnchorElement.dispatch (app.js:1)
    at HTMLAnchorElement.g.handle (app.js:1)

经过研究,laravel中的app.js已经包含jQuery。但是,似乎this.html()不存在。如何获得clicked元素的值?

此处的预期输出为Language,将其作为值放置在输入框中。

1 个答案:

答案 0 :(得分:1)

您可以尝试将html更改为文本,例如:

<script>
 jQuery(document).ready(function(){
    $('.saved-ai').click(function() {
        $('#ainame').val($(this).text());
    });
 });
</script>

在这里您可以找到更多有关它的信息:http://api.jquery.com/text/