【发布时间】:2016-03-23 08:18:26
【问题描述】:
这只是我在玩 jsFiddle 时想到的一个练习。
给定具有数据属性的元素:
<div data-test-id="3214581">Loading...</div>
<div data-test-id="6584634">Loading...</div>
我想将文本内容设置为具有该 ID 的函数的结果,这样最终的 DOM 是:
<div data-test-id="3214581">John, Smith</div>
到目前为止,我能够找到给定的元素,但不知何故无法使用 this 关键字引用该元素来获取其 testId:
$('div[data-test-id]').text(getPersonName($(this).data('testId')))
getPersonName() 返回“约翰,史密斯”
我认为应该就这么简单,但是在堆栈或 jQuery 文档上还没有找到像这样的自引用示例。
编辑:固定元素显示多个 div,而不仅仅是一个。 (即 ID 未知,不应在选择器中)。固定选择在它周围有单引号。
【问题讨论】:
-
您的期望反映了对how
thisworks的根本误解。 -
您的选择器似乎不正确。选择器是一个字符串:
$('div[data-test-id])`.... -
你可以使用
each函数-$(div[data-test-id]).each(function(){ $(this).text(getPersonName($(this).data('testId'))); }); -
您能否在问题中包含
getPersonName的文字?
标签: javascript jquery dom-manipulation