这只是我在玩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/

10-12 14:08
查看更多