Differences between revisions 1 and 6 (spanning 5 versions)
Revision 1 as of 2009-07-13 15:58:43
Size: 743
Editor: CarlNobile
Comment:
Revision 6 as of 2009-07-17 20:36:36
Size: 1341
Editor: CarlNobile
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
When you cannot use a JavaScript toolkit like [[http://jquery.com|jQuery]] these functions may come in handy. When you cannot use a !JavaScript toolkit like [[http://jquery.com|jQuery]] these functions may come in handy. However, they do not globally work on IE. With IE you will need to supply the object that you want it set on.
Line 6: Line 6:
Node.prototype.insertAfter = function(newNode, refNode) { var insertAfter = function(newNode, refNode) {
  var result = null;
Line 8: Line 10:
    return this.insertBefore(newNode, refNode.nextSibling);     result = this.insertBefore(newNode, refNode.nextSibling);
Line 10: Line 12:
    return this.appendChild(newNode);     result = this.appendChild(newNode);
Line 12: Line 14:

  return result;
Line 14: Line 18:
Node.prototype.getElementByClass = function(className, count) { var getElementByClass = function(className, count) {
Line 32: Line 36:

var extendNode = function() {
  // Most browsers have a Node object.
  if(window.Node) {
    Node.prototype.insertAfter = insertAfter;
    Node.prototype.getElementByClass = getElementByClass;
  } else { // IE doesn't, so we have to set it to the object we need it on.
    var container = document.getElementById("The Object You Need It Set On");
    container.insertAfter = insertAfter;
    container.getElementByClass = getElementByClass;
  }
}

JavaScript Helper Functions

When you cannot use a JavaScript toolkit like jQuery these functions may come in handy. However, they do not globally work on IE. With IE you will need to supply the object that you want it set on.

var insertAfter = function(newNode, refNode) {
  var result = null;

  if(refNode.nextSibling) {
    result = this.insertBefore(newNode, refNode.nextSibling);
  } else {
    result = this.appendChild(newNode);
  }

  return result;
}

var getElementByClass = function(className, count) {
  var result = null;

  for(var i = 0; i < this.childNodes.length; i++) {
    var classCount = 0;

    if(this.childNodes[i].className == className) {
      if(classCount == count) {
        result = this.childNodes[i];
        break;
      }

      classCount++
    }
  }

  return result;
}

var extendNode = function() {
  // Most browsers have a Node object.
  if(window.Node) {
    Node.prototype.insertAfter = insertAfter;
    Node.prototype.getElementByClass = getElementByClass;
  } else {  // IE doesn't, so we have to set it to the object we need it on.
    var container = document.getElementById("The Object You Need It Set On");
    container.insertAfter = insertAfter;
    container.getElementByClass = getElementByClass;
  }
}

JavaScriptHelperFunctions (last edited 2009-07-17 20:58:15 by CarlNobile)