【问题标题】:I'm trying to re-write this in CoffeeScript. Coming unstuck我正在尝试用 CoffeeScript 重写它。即将解开
【发布时间】:2011-05-11 13:49:25
【问题描述】:
function getElementsByClassName(className)
{
 // get all elements in the document
 if (document.all)
 {
  var allElements = document.all;
 }
 else
 {
  var allElements = document.getElementsByTagName("*");
 }

 var foundElements = [];
 for (var i = 0, ii = allElements.length; i < ii; i++)
 {
  if (allElements[i].className == className)
  {
   foundElements[foundElements.length] = allElements[i];
  }
 }

 return foundElements;
}

var listItems = document.getElementsByClassName("quirky");

for (var i = 0, ii = listItems.length; i < ii; i++)
{
    alert(listItems[i].nodeName);
}

【问题讨论】:

  • translatemycodeforme.stackexchange.com

标签: coffeescript


【解决方案1】:
getElementsByClassName = (className) ->

  # get all elements in the document
  if document.all
    allElements = document.all
  else
    allElements = document.getElementsByTagName "*"

  el for el in allElements when el.className == className

# NOTE: getElementsByClassName was never assigned as a member
# of document. So this call will likely fail, unless you are
# using a latest-version browser.
listItems = document.getElementsByClassName "quirky"

for i in listItems
  alert i.nodeName

【讨论】:

  • 如果您使用&lt;space&gt;"*" 而不是("*") 等等,它会更“保险箱”
  • 已编辑。感谢您的反馈。
猜你喜欢
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
  • 2015-04-24
相关资源
最近更新 更多