Giter Club home page Giter Club logo

njq's Introduction

No jQuery

Build Status

No jQuery - an alternative vanillia js implementation of jQuery's most used features. Code taken from youmightnotneedjquery.com

  1. Install
  2. Feature
  3. Testing

Install

Features

Ajax

getJSON

njq.getJSON("/some/path", function(data) {
  console.log("JSON:", data);
});

ajax (GET)

njq.ajax({
  type: "GET",
  url: "/some/path",
  success: function(data) {
    console.log("RESULT:", data);
  },
  error: function() {
    // error
  }
});

ajax (POST)

njq.ajax({
  type: "POST",
  url: "/some/path",
  data: { test: true },
  success: function(data) {
    console.log("RESULT:", data);
  },
  error: function() {
    // error
  }
});

Elements

selector

var foo = njq("#foo");
foo.find("#bar").length; // some number

each

var foo = njq("#foo").each(function(i) { // <div id="foo">foo</div>
  console.log(njq(this).text()); // foo
});

find

var foo = njq("#foo");
foo.find("#bar").length; // some number

next

var foo = njq("#foo"); // <div id="foo">foo</div><div id="bar">bar</div>
foo.next(); // <div id="bar">bar</div>

prev

var foo = njq("#bar"); // <div id="foo">foo</div><div id="bar">bar</div>
foo.prev(); // <div id="foo">foo</div>

is

var foo = njq(".foo");
foo.is(".foo"); // true

hasClass

var foo = njq(".foo");
foo.hasClass("foo"); // true

addClass

var foo = njq(".foo");
foo.addClass("bar");
foo.hasClass("bar"); // true

removeClass

var foo = njq(".foo"); // <div class="foo bar">stuff</div>
foo.removeClass("bar"); //
foo.hasClass("bar"); // false

toggleClass

var foo = njq(".foo"); // <div class="foo">stuff</div>
foo.toggleClass("bar"); //
foo.hasClass("bar"); // true

toggle

var foo = njq(".foo"); // <div class="foo">stuff</div>
foo.toggle(); // <div class="foo" style="display: none;">stuff</div>

width

var foo = njq(".foo"); // <div class="foo">stuff</div>
foo.width("100px"); // <div class="foo" style="width: 100px;">stuff</div>
foo.width(); // 100

height

var foo = njq(".foo"); // <div class="foo">stuff</div>
foo.height("100px"); // <div class="foo" style="height: 100px;">stuff</div>
foo.height(); // 100

each

var foo = njq(".foo");
foo.each(function(el) {
  console.log(el);
});

empty

var foo = njq(".foo"); // <div class="foo">BAR</div>
foo.empty(); // <div class="foo"></div>

html

var foo = njq(".foo"); // <div class="foo">BAR</div>
foo.html(); // BAR

text

var foo = njq(".foo"); // <div class="foo"><span>BAR</span></div>
foo.text(); // BAR

children

var foo = njq(".foo"); // <div class="foo"><span>BAR</span></div>
foo.children(); // <span>BAR</span>

append

var foo = njq(".foo").append("<p>bar</p>"); // <div class="foo">stuff<p>bar</p></div>

prepend

var foo = njq(".foo").prepend("<p>bar</p>"); // <div class="foo"><p>bar</p>stuff</div>

attr

var foo = njq(".foo"); // <div class="foo" data-bar="bar"></div>
foo.attr("data-bar"); // bar
foo.attr("data-bar", "fooBar");

val

var foo = njq("#foo"); // <input id="foo" type="text" value="foo" />
foo.val(); // foo
foo.val("bar"); // bar

data

var foo = njq(".foo"); // <div class="foo" data-bar="bar"></div>
foo.data("bar"); // bar
foo.data("bar", "newBar");

css

var foo = njq(".foo"); // <div class="foo" style="color: red;"></div>
foo.css("color"); // red
foo.css("color", "blue"); // blue

Events

on

njq(".foo").on("bar", function(data) {
  console.log(data);
}).trigger("bar", "foobar");
// LOG foobar

off

var listener = function(data) {
  console.log(data);
};
njq(".foo").on("bar", listener).off("bar", listener).trigger("bar", "foobar");
// LOG nothing happens

trigger

njq(".foo").on("bar", function(data) {
  console.log(data);
}).trigger("bar", "foobar");
// LOG foobar

ready

njq(document).ready(function() {
  // document is ready
});

Effects

hide

var foo = njq(".foo").hide(); // sets display to none;

show

var foo = njq(".foo").show(); // removes display value

Testing

npm test

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.