我正在尝试根据列表中的click事件设置输入框的值。我正在使用$("#modifyText2").val()
来设置输入字段的值,它可以正常工作。但我无法得到div.CompanyName
.CompanyName
是.shop_data
我尝试了什么:
$("#shops_output").on("click", ".shop_data", function() {
$("#modifyText2").val(this.children(".CompanyName").text);
});
答案 0 :(得分:1)
这是因为.children()
是一个jQuery函数。
因此,您需要使用$(this)
而不是普通的“this
,因为普通的javascript对象没有附加children
函数。
在jQuery this
函数中包装$
是添加jQuery提供的所有额外方法的原因。
$("#shops_output").on("click", ".shop_data", function() {
$("#modifyText2").val($(this).children(".CompanyName").text());
});
具体来说:$(this).children(".CompanyName").text()
此外,这仅适用于只有一个孩子匹配的情况。如果存在多个,如其他人所述,您将需要执行以下操作:
$($(this).children(".CompanyName")[0]).text()
// or
$(this).children(".CompanyName").eq(0).text()
答案 1 :(得分:0)
或者以jQuery方式$(this).find('.CompanyName').eq(0).html()
,如果" .CompanyName"的内容只是文字。