├── .gitignore ├── .npmignore ├── README.md ├── index.js ├── package.json └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | test.js 3 | example 4 | examples 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## dom-style 2 | 3 | Inline CSS manipulation library 4 | 5 | ```js 6 | var style = require('dom-style') 7 | 8 | style(document.body, 'background-color', 'red') 9 | 10 | style(document.body, { 11 | 'font-color': 'yellow', 12 | 'border': '5px solid black' 13 | }) 14 | 15 | ``` 16 | 17 | ## Install 18 | 19 | ```bash 20 | $ npm install dom-style 21 | ``` 22 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var toCamelCase = require('to-camel-case'); 2 | 3 | module.exports = style; 4 | 5 | function all(element, css) { 6 | var name; 7 | for ( name in css ) { 8 | one(element, name, css[name]); 9 | } 10 | } 11 | 12 | function one(element, name, value) { 13 | element.style[toCamelCase((name == 'float') ? 'cssFloat' : name)] = value; 14 | } 15 | 16 | function style(element) { 17 | if (arguments.length == 3) { 18 | return one(element, arguments[1], arguments[2]); 19 | } 20 | 21 | return all(element, arguments[1]); 22 | } 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dom-style", 3 | "version": "1.0.0", 4 | "description": "Inline CSS manipulation library", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "browserify test.js | tape-run" 8 | }, 9 | "dependencies": { 10 | "to-camel-case": "*" 11 | }, 12 | "devDependencies": { 13 | "browserify": "13.0.0", 14 | "select-dom": "*", 15 | "tape": "4.5.1", 16 | "tape-run": "2.1.3" 17 | }, 18 | "keywords": [ 19 | "dom", 20 | "css", 21 | "style", 22 | "browser" 23 | ], 24 | "repository": { 25 | "url": "git@github.com:npm-dom/dom-style.git", 26 | "type": "git" 27 | }, 28 | "author": "Azer Koçulu ", 29 | "license": "BSD" 30 | } 31 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var style = require("./"); 3 | var select = require('select-dom'); 4 | var el; 5 | 6 | test('sets a css property', function (t) { 7 | reset(); 8 | t.plan(5); 9 | 10 | style(el, 'color', 'red'); 11 | t.equal(el.style.color, 'red'); 12 | 13 | style(el, 'float', 'left'); 14 | t.equal(el.style.cssFloat, 'left'); 15 | 16 | style(el, { 17 | 'background-color': 'yellow', 18 | 'float': 'left', 19 | margin: '20px' 20 | }); 21 | 22 | t.equal(el.style.backgroundColor, 'yellow'); 23 | t.equal(el.style.cssFloat, 'left'); 24 | t.equal(el.style.margin, '20px'); 25 | }); 26 | 27 | function reset() { 28 | document.body.innerHTML = ''; 29 | el = select('button'); 30 | } 31 | --------------------------------------------------------------------------------