Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #14965

Re: Built-in string functions clobber strings in array?

From Gregor Kofler <usenet@gregorkofler.com>
Newsgroups comp.lang.javascript
Subject Re: Built-in string functions clobber strings in array?
Date 2012-07-09 10:36 +0200
Organization A noiseless patient Spider
Message-ID <jte575$u4f$1@dont-email.me> (permalink)
References <2c985566-9108-4346-873c-a709466fa795@googlegroups.com>

Show all headers | View raw


Am 2012-07-09 05:01, terphenyl meinte:
> In an test html page I have 5 lines like:
> <a href="http://www.yahoo.com">Yahoo</a>
> <a href="http://www.google.com">Google</a>
> <a href="mailto:?Bcc=k-smith@abcd.edu">Email me</A>
> <a href="http://www.hotmail.com">Google</a>
> <a href="mailto:?Bcc=k-jones@abcd.edu">Email him</A>
> and I want my javascript to return the URLs as strings I can
> detect, say, the mailto: lines.
> This almost works:
>
> var allLinks = content.document.getElementsByTagName("a");
> var txt = '';
> var stxt = '';
>
>   for( var jj=0, kk=0; jj < allLinks.length; jj++)
>              {
>               document.write("<br>" + jj + "    ");
>               //document.write(allLinks[jj]);
>               txt = allLinks[jj];
>               document.write(txt);
>               stxt = txt.substring(4,8);
>               // var n = s.indexOf("Bcc");
>             }
> This will write on the page the index (jj), and the URL for the
> [0] index element of allLinks (as the copied string txt), and then
> just stop, even though there are 5 elements, 0...4.
> WITHOUT the txt.substring(4,8) or indexOf, or any built-in string
> function, all 5 URLs are displayed just fine (with the indexes).
>
> I thought the elements of allLinks were strings

allLLinks is a collection of DOM elements.

, and, to be conservative
> copied the strings to a different variable (txt) and then tried a string operation (or two) on that variable.

An internal toString() method is invoked (which - here in FF - gives you 
the href attribute value of the anchor). However, they are not strings 
and don't provide string methods. Try something like allLinks[jj].href 
which holds a string.

Gregor


-- 
http://vxweb.net

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Built-in string functions clobber strings in array? terphenyl <terphenyl@hotmail.com> - 2012-07-08 20:01 -0700
  Re: Built-in string functions clobber strings in array? Gregor Kofler <usenet@gregorkofler.com> - 2012-07-09 10:36 +0200
    Re: Built-in string functions clobber strings in array? terphenyl@hotmail.com - 2012-07-09 12:39 -0700
    Re: Built-in string functions clobber strings in array? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-07-09 22:09 +0200

csiph-web