我在DOM中找到我的元素,如下所示:
tag_text_box = ($(this).parent().parent().find('.tags'))
Run Code Online (Sandbox Code Playgroud)
我打印出来检查它是否正确,确实是这样.这里:
[
<input type=?"text" class=?"tags ui-autocomplete-input" style=?"width:? 250px;? height:? 24px;? background-color:? red;? " name=?"display_name" autocomplete=?"off" role=?"textbox" aria-autocomplete=?"list" aria-haspopup=?"true">?
]
Run Code Online (Sandbox Code Playgroud)
但tag_text_box.text()似乎根本没有工作.它不会打印我在输入中键入的任何文本.我应该使用其他方法吗?
你需要.val()改用; .text()从元素内部获取文本,而.val()获取文本框的值,这是输入的属性.
您也可以在第一行留下周围的括号.请注意,您也应该使用var; 目前,您正在tag_text_box全局命名空间中声明.这是它应该是什么样子:
var tag_text_box = $(this).parent().parent().find('.tags');
var box_text = tag_text_box.val();
Run Code Online (Sandbox Code Playgroud)
为了更简洁,您可以简单地将输入值直接分配给变量:
var tags = $(this).parent().parent().find('.tags').val();
Run Code Online (Sandbox Code Playgroud)