cheerio-get-css-selector
Advanced tools
Comparing version 1.0.1 to 1.0.3
{ | ||
"name": "cheerio-get-css-selector", | ||
"version": "1.0.1", | ||
"version": "1.0.3", | ||
"description": "gets a unique selector for this element", | ||
@@ -5,0 +5,0 @@ "main": "./src/get-unique-selector.js", |
@@ -13,3 +13,4 @@ # cheerio-get-css-selector | ||
<span> | ||
<span class="test-class"></span> | ||
<span class="test-class"></span> | ||
<span></span> | ||
</span> | ||
@@ -24,3 +25,3 @@ </div> | ||
var getUniqueSelector = require('../src/getUniqueSelector.js').init(); | ||
var getUniqueSelector = require('../src/get-unique-selector.js').init(); | ||
@@ -30,3 +31,3 @@ var $html = $('<html><body><div id="my-div"><span><span class="test-class"></span></span></div></body></html>'); | ||
var element = $html.find('.test-class'); | ||
console.log($.getUniqueSelector(element)); // outputs: #my-div > span:nth-child(0) > span:nth-child(0) | ||
console.log($.getUniqueSelector(element)); // outputs:#my-div > span > span:first-child | ||
``` | ||
@@ -33,0 +34,0 @@ |
@@ -31,5 +31,13 @@ var $ = require('cheerio'); | ||
return tagName; | ||
} else { | ||
return el.get(0).tagName + ':nth-child(' + (el.index() + 1) + ')'; // TODO if num children === 1 => don't add nth child | ||
} | ||
if (el.siblings().length === 0) { | ||
return el.get(0).tagName; | ||
} | ||
if (el.index() === 0) { | ||
return el.get(0).tagName + ':first-child'; | ||
} | ||
if (el.index() === el.siblings().length){ | ||
return el.get(0).tagName + ':last-child'; | ||
} | ||
return el.get(0).tagName+ ':nth-child(' + (el.index() + 1) + ')'; | ||
} | ||
@@ -36,0 +44,0 @@ } |
4262
40
35