jQuery获取child的值和输入框的设置值

时间:2016-06-21 12:45:09

标签: javascript jquery

我正在尝试根据列表中的click事件设置输入框的值。我正在使用$("#modifyText2").val()来设置输入字段的值,它可以正常工作。但我无法得到div.CompanyName

的文字

.CompanyName.shop_data

的孩子

我尝试了什么:

$("#shops_output").on("click", ".shop_data", function() {
    $("#modifyText2").val(this.children(".CompanyName").text);
});

2 个答案:

答案 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"的内容只是文字。