这只是我在玩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()返回“ John,Smith”
我认为应该就这么简单,但是在堆栈或jQuery文档上都找不到这样的自引用示例。
编辑:固定元素显示多个div,而不仅仅是一个。 (即,该ID未知,因此不应在选择器中)。固定选择,使其周围有单引号。
最佳答案
this
是函数的上下文。
如果没有进一步说明,则this
就是window
。
您想要的是将回调传递给$.text
,该回调将绑定到选定的DOM元素:
$('div[data-test-id]').text(function(){
// here this is your div
return getPersonName($(this).data('testId'))
})
关于javascript - 如何使用jQuery将元素的内容设置为其属性的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36166673/