如何使用jQuery / Coffeescript将变量设置为特定页面元素的文本?

时间:2012-10-31 04:19:35

标签: jquery coffeescript

我正在尝试使用Coffeescrip / jQuery迭代页面上的每个跨度,如果该跨度的id等于变量elemId,则返回特定跨度标记之间的文本。这就是我所拥有的:

elemValue = $('span').each ->
  $(@).text() if $(@).attr("id") is elemId

出于某种原因,这只会返回我输出到页面的[object Object]的{​​{1}},即使我在我知道的跨度为{{1}的页面上测试它}}。知道我哪里错了吗?

另外,如果页面上没有任何跨度,elemValue的默认值是如何设置elemId的默认值?

2 个答案:

答案 0 :(得分:2)

如果您知道id,那么为什么要迭代整个范围。只需使用id来获取文本

 $("#" +elemId ).text()

答案 1 :(得分:1)

这是适合你的,并且更有意义:

$('#' + elemId).each(function () {
   console.log('$(this).text());
});

要设置默认值,您需要执行以下操作:

if (document.indexOf(elemId) < 0) {
    var elemValue = "whatever you want"
}