有人可以带我走过这条线
var types = { "Grocery": "gro", "Restaurant": "res", "Bar": "bar", "Pizza Delivery": "piz", "Quick Service": "qui", "Retail": "ret", "Salon": "sal" } $(".type_changer").attr("id", types[$(this).text()]);
我知道类type_changer
id正在被改为这个数组的一部分但是我不懂types[$(this).text()]
这条线
$(this).parents('.select-holder').find('.text').text($(this).text());
似乎几乎可以理解,但我对.parents
和.find('.text').text($(this).text());
感到困惑.find('.text').text($(this).text());
$(this).text()
接受当前元素的文本(
你在你的情况下循环,除非你的标记已经改变)。
然后它使用该文本作为types
对象的键,当您单击“Grocery”链接时,基本上执行types["Grocery"]
。
在JavaScript中,您可以使用types.Grocery
或types["Grocery"]
来访问属性,其值为"gro"
。
最后一个语句采用相同的“Grocery”测试并将其设置为父class="text"
元素的class="text"
。
$(this).text()
将获取当前DOM元素内的文本,它将使用此文本在数组中查找相应的值(例如types['Restaurant']
)。
在具有类’type-changer’的每个元素上,将其ID更改为在types
映射到元素中的文本的值,例如。
Salon
将被转换为
Salon