GithubHelp home page GithubHelp logo

miguelramosfdz / css-selector Goto Github PK

View Code? Open in Web Editor NEW

This project forked from martinsbalodis/css-selector

0.0 2.0 0.0 296 KB

License: GNU Lesser General Public License v3.0

JavaScript 100.00%

css-selector's Introduction

CSS Selector

Build Status

CSS selector can be used to retrieve CSS selector for a given element in DOM. The resulting selector will be optimized to be as short as possible. CSS selector can be retrieved also for multiple elements. In such case the resulting selector might be a much wider CSS selector which will point to similar elements.

Usage

var selector = new CssSelector({
		parent: document,
		enableResultStripping: true,
		ignoredTags: ['font'],
		enableSmartTableSelector: true,
		allowMultipleSelectors: false,
		query: jQuery,
		ignoredClasses: [
			'my-class'
		]
	});
var elements = document.getElementsByClassName('my-class');
var result_selector = selector.getCssSelector(elements);
// #id div:nth-of-type(1) .another-class

Features

  • Tag name selector
  • Id selector
  • Class name selector
  • nth-of-child selector
  • Direct Child selector (a > b)
  • Smart table selector

Smart table selector

For example you have a table like you can see below and you need to get the CSS selector for <td>banana</td>. The selector could be retrieved with nth-of-child selector. But in this case the resulting selector wouldn't be a very strong one. Using smart table you would get CSS selector like this tr:contains('title:') td:nth-of-type(2).

<table>
    <tr><td>title:</td><td>banana</td></tr>
    <tr><td>color:</td><td>yellow</td></tr>
</table>

Contributions

Please include tests for added features.

License

LGPLv3

css-selector's People

Contributors

martinsbalodis avatar

Watchers

 avatar  avatar

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.