Postoji li neki jquery kod koji bi klikom na elemenat u htmlu dao xptah putanju. Kao firePath u mozilli ...
Xpath putanja sa jquery-em
Zaključano
Zakačeno
Code:
this.getElementTreeXPath = function(element)
{
var paths = [];
// Use nodeName (instead of localName) so namespace prefix is included (if any).
for (; element && element.nodeType == 1; element = element.parentNode)
{
var index = 0;
for (var sibling = element.previousSibling; sibling; sibling = sibling.previousSibling)
{
// Ignore document type declaration.
if (sibling.nodeType == Node.DOCUMENT_TYPE_NODE)
continue;
if (sibling.nodeName == element.nodeName)
++index;
}
var tagName = element.nodeName.toLowerCase();
var pathIndex = (index ? "[" + (index+1) + "]" : "");
paths.splice(0, 0, tagName + pathIndex);
}
return paths.length ? "/" + paths.join("/") : null;
};
this.getElementTreeXPath = function(element)
{
var paths = [];
// Use nodeName (instead of localName) so namespace prefix is included (if any).
for (; element && element.nodeType == 1; element = element.parentNode)
{
var index = 0;
for (var sibling = element.previousSibling; sibling; sibling = sibling.previousSibling)
{
// Ignore document type declaration.
if (sibling.nodeType == Node.DOCUMENT_TYPE_NODE)
continue;
if (sibling.nodeName == element.nodeName)
++index;
}
var tagName = element.nodeName.toLowerCase();
var pathIndex = (index ? "[" + (index+1) + "]" : "");
paths.splice(0, 0, tagName + pathIndex);
}
return paths.length ? "/" + paths.join("/") : null;
};
http://code.google.com/p/fbug/...ebug1.6/content/firebug/lib.js
Ej HVALA puno. Medjutim sta je potrebno da dodam da kada kliknem dobijem xpath putanju za neki html kod. Evo npr. : http://jsbin.com/uhude3/22/edit gde sam postavio ovaj kod... Ovo nije jquery? Nov sam u ovome zato ne zamerite sto postavljam banalna pitanja! jel ovako dobijam home/body/div/div/div[1] putanju ili skracenu putanju //div[@id='nesto'] ??? Unapred sam zahvalan!
Jednostavno treba da se napise funkcija jquery (nisam bar sada dobar sa sintaksom) koja ce kada se klikne na neki element ( ili jos bolje da targetuje div, span, p, img, script i ostale elemente) da preuzme ime i izlista sve njegove parente sve do body ili html taga. Onda sve te varijable spaja i generise xpath i to stavlja u jedan string... please HELP!
p.s. spreman sam da platim za ovo koliko treba jer mi je hitno i nemam vremena da ucim jquery sintaksu!
p.s. spreman sam da platim za ovo koliko treba jer mi je hitno i nemam vremena da ucim jquery sintaksu!
Vec sam ti dao resenje... Evo i test fajla.
Cao,
Ako te jos interesuje, imam spremljen jquery plugin za ovo.
Javi se na mejl.
Pozdrav.
Ako te jos interesuje, imam spremljen jquery plugin za ovo.
Javi se na mejl.
Pozdrav.
Igore hvala u svakom slucaju na vremenu koje si izdvojio ali kada se doda neki div npr. <div>KLIKNI OVDE</div> klikom na njega ne dobijas xpath... ali puno HVALA i ovo je od velike pomoci!
@Vlada A
Pa naravno da se nece nista desiti, zato sto nije tako namesteno...
$('p, li, #generated, a').click(function () {
var xpath = getElementTreeXPath(this);
alert(xpath);
});
Kao sto se vidi iz ovog koda, namesteno je da radi samo za <p>, <li>, <a> i za element sa id-om "generated". Potrebno je dodati u listu i "div" da bi radilo kako si ti zamislio....
Potrosi jos malo vremena da razumes kako primer radi, pre nego sto das pare nekome za vec uradjenu stvar
Pa naravno da se nece nista desiti, zato sto nije tako namesteno...
Citat:
$('p, li, #generated, a').click(function () {
var xpath = getElementTreeXPath(this);
alert(xpath);
});
Kao sto se vidi iz ovog koda, namesteno je da radi samo za <p>, <li>, <a> i za element sa id-om "generated". Potrebno je dodati u listu i "div" da bi radilo kako si ti zamislio....
Potrosi jos malo vremena da razumes kako primer radi, pre nego sto das pare nekome za vec uradjenu stvar