Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  JS'ga õige <table> leidmine märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Terror
HV veteran
Terror

liitunud: 08.11.2001




sõnum 19.03.2009 20:31:18 JS'ga õige <table> leidmine vasta tsitaadiga

Probleem järgmine et vaja leida õige tabeli nr lehe sourcest kuid asi on osutunud ületamatuks probleemiks icon_confused.gif Nimelt on see tabel 2 teise tabeli sees. kätte üritan teda praegu saada nii:
javascript:
  1. function getOpponentsDefeatedTableIndex(tables) {
  2.  for(var i = 0; i < tables.length; i++ ){
  3.   var row = tables[i].getElementsByTagName("tr")[2];
  4.   if (row) {
  5.    var cell = row.getElementsByTagName("td")[0];
  6.    if (cell) {
  7.     var cellText = cell.innerHTML;
  8.     if(cellText.match("Barracks") == "Barracks"){
  9.      return i;
  10.     }
  11.    }
  12.   }
  13.  }
  14. }


Tabelite ülesehitus on lehel selline:
<table20>
  <table24>
    <table26>
      "siin on see text mille järgi tabelit otsin ning muu info millega hiljem vaja töötada"
    </table26>
  </table24>
</table20>


scriptiga saan vastuseks et tabeli nr mida otsin on 20, kuid tegelikult on see 26 (nagu enne näidatud).

Sources hakkavad table'd nii:
20:
html:
  1. <table align="center">
  2.         <tr>
  3.                 <td>
  4.  

24:
html:
  1.         <table cellpadding="0" cellspacing="0">
  2.                 <tr>
  3.                         <td valign="top">
  4.  

26:
html:
  1. <table class="vis">
  2. <tr><th width="220">Buildings</th><th width="100">Demolition time<br />(hh:mm:ss)</th><th width="200">Demolish</th></tr>
  3.  
  4.         <td><a href="/game.php?village=6158&amp;screen=main"><img src="/graphic/buildings/main.png?1" alt="Village Headquarters" /> Village Headquarters</a> (Level 20)</td>
  5.                         <td>1:30:18</td>
  6.                 <td><a href="/game.php?village=6158&amp;screen=main&amp;action=destroy&amp;building_id=main&amp;h=4551"
  7.                                 >Downgrade one level</a></td>
  8.         <tr>
  9.         <td><a href="/game.php?village=6158&amp;screen=barracks"><img src="/graphic/buildings/barracks.png?1" alt="Barracks" /> Barracks</a> (Level 25)</td>
  10.  
  11.                         <td>7:29:25</td>
  12.                 <td><a href="/game.php?village=6158&amp;screen=main&amp;action=destroy&amp;building_id=barracks&amp;h=4551"
  13.                                 >Downgrade one level</a></td>



Mõistus on otsas....
Võibolla on üldse mingi teistlaadi funktsioon mille järgi tabeli nr't hoopis pare/efektiivsem otsida?

Lehe kogu source on siin:
Spoiler Spoiler Spoiler
Kommentaarid: 100 loe/lisa Kasutajad arvavad:  :: 1 :: 2 :: 91
tagasi üles
vaata kasutaja infot saada privaatsõnum
andresv
HV kasutaja

liitunud: 06.12.2004



Autoriseeritud ID-kaardiga

sõnum 20.03.2009 15:36:54 vasta tsitaadiga

nu pane tabelitele id atribuudid külge ja siis getElementById saad need kätte.

võid ka muudele asjadele id-sid külge panna
nt nii


<table id="table1">
<tr id="table1_row1">
<td id="table1_row1_cell1" >
   <table id="table1_1">
     <tr>
          <td id="erililse_sisuga_kast_1">Eriline sisu</td>
jne...
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
2ndalpha
HV kasutaja
2ndalpha

liitunud: 03.11.2004




sõnum 20.03.2009 15:37:04 vasta tsitaadiga

JQueryga on DOM puus tunduvalt lihtsam õiget asja leida. Kui tegemist ei ole väga dünaamilise HTML-ga, siis ID külge panemine on kindlasti parem lahendus.
Kommentaarid: 23 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum
Terror
HV veteran
Terror

liitunud: 08.11.2001




sõnum 20.03.2009 19:38:00 vasta tsitaadiga

andresv kirjutas:
nu pane tabelitele id atribuudid külge ja siis getElementById saad need kätte.

võid ka muudele asjadele id-sid külge panna
nt nii


<table id="table1">
<tr id="table1_row1">
<td id="table1_row1_cell1" >
   <table id="table1_1">
     <tr>
          <td id="erililse_sisuga_kast_1">Eriline sisu</td>
jne...

Tegu on ühe online strateegiamänguga. Mul on lihtsalt huvitav seal scripte ja asju selle tarbeks aretada (JS'i õppida). Ehk siis teisisõnu ma ei saa source muuta, pean kasutama seda mis on. Aga kindlasti on siin mitu gurut koos kes oskaksid lahendust pakkuda icon_razz.gif Kasvõi mõne teistlaadi funktsiooni välja pakkuda õige table nr leidmiseks.
Kommentaarid: 100 loe/lisa Kasutajad arvavad:  :: 1 :: 2 :: 91
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 23.03.2009 21:03:58 vasta tsitaadiga

Üldiselt pole see just kuigivõrd hea moodus JavaScriptis programmeerimise õppimiseks, sest antud juhul on tegemist rohkem häkkimise kui programmeerimisega. Kuna see Tribal Warsi leht ilmselgelt pole kirjutatud nii, et seda oleks kasutajatel lihtne skriptida, siis ongi tulemuseks see, et sellel lehel häkkimine pole teps mitte lihtne.

Ehk piltlikult öeldes tahad sa ravida p***e kaudu hambaid ning kurdad, et on raske. Muidugi on raske.

_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Terror
HV veteran
Terror

liitunud: 08.11.2001




sõnum 24.03.2009 08:20:13 vasta tsitaadiga

Kuid huvitav icon_wink.gif
Tabli asja sain vahepeal lahendatud:
table=doc.getElement("th:contains('Village')").getParent("table");
Kommentaarid: 100 loe/lisa Kasutajad arvavad:  :: 1 :: 2 :: 91
tagasi üles
vaata kasutaja infot saada privaatsõnum
alliance
The Transporter

liitunud: 23.11.2004




sõnum 11.05.2009 00:35:08 vasta tsitaadiga

nene kirjutas:


Ehk piltlikult öeldes tahad sa ravida p***e kaudu hambaid ning kurdad, et on raske. Muidugi on raske.
Kahtlemata.Kuid mulle tundub et väikse "terrori" poisiga ongi koguaeg nii et mida raskem ,seda parem.Õppimise soov tugevneb .
_________________
---
Kommentaarid: 531 loe/lisa Kasutajad arvavad:  :: 0 :: 5 :: 431
tagasi üles
vaata kasutaja infot saada privaatsõnum
lehm2
Kreisi kasutaja


liitunud: 19.09.2004




sõnum 11.05.2009 09:56:56 vasta tsitaadiga

Ja, kuidas sa mõtlesid Javascripti lehele külge pookida, läbi veebi aadressi käima lasta javascript: ? icon_rolleyes.gif
_________________
Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust !
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
tanzanite
HV kasutaja
tanzanite

liitunud: 13.05.2006




sõnum 11.05.2009 12:18:56 vasta tsitaadiga

greasemonkey perhaps?
tagasi üles
vaata kasutaja infot saada privaatsõnum
Terror
HV veteran
Terror

liitunud: 08.11.2001




sõnum 11.05.2009 16:03:39 vasta tsitaadiga

See siin pole õige koht kus arheoloogilisi väljakaevamisi teha icon_lol.gif
Kommentaarid: 100 loe/lisa Kasutajad arvavad:  :: 1 :: 2 :: 91
tagasi üles
vaata kasutaja infot saada privaatsõnum
alliance
The Transporter

liitunud: 23.11.2004




sõnum 13.05.2009 03:21:51 vasta tsitaadiga

lehm2 kirjutas:
Ja, kuidas sa mõtlesid Javascripti lehele külge pookida, läbi veebi aadressi käima lasta javascript: ? icon_rolleyes.gif
Tegelikult läbi mp3.
Sul on veider kysimus.

_________________
---
Kommentaarid: 531 loe/lisa Kasutajad arvavad:  :: 0 :: 5 :: 431
tagasi üles
vaata kasutaja infot saada privaatsõnum
lehm2
Kreisi kasutaja


liitunud: 19.09.2004




sõnum 13.05.2009 16:41:29 vasta tsitaadiga

alliance kirjutas:
lehm2 kirjutas:
Ja, kuidas sa mõtlesid Javascripti lehele külge pookida, läbi veebi aadressi käima lasta javascript: ? icon_rolleyes.gif
Tegelikult läbi mp3.
Sul on veider kysimus.

Mis arusaamatuks jääb ? icon_rolleyes.gif

_________________
Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust !
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  JS'ga õige <table> leidmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.