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


Groups > comp.lang.javascript > #14978

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

Message-ID <2146299.mvXUDI8C0e@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2012-07-09 22:09 +0200
Subject Re: Built-in string functions clobber strings in array?
Newsgroups comp.lang.javascript
References <2c985566-9108-4346-873c-a709466fa795@googlegroups.com> <jte575$u4f$1@dont-email.me>
Followup-To comp.lang.javascript

Followups directed to: comp.lang.javascript

Show all headers | View raw


Gregor Kofler wrote:

> Am 2012-07-09 05:01, terphenyl meinte:
>> var allLinks = content.document.getElementsByTagName("a");
>> […]
>>
>> I thought the elements of allLinks were strings
> 
> allLLinks is a collection of DOM elements.

It refers to a NodeList of references to DOM element objects, which in the 
Gecko DOM also implements the HTMLCollection interface (for reasons I do not 
understand).

> , 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.

Caveat: The value of the `href' property, and the return value of the 
toString() method, might not reflect the value of the `href' attribute; in 
fact, it may represent the (absolute) URI for a given (relative) URI-
reference (see RFC 3986).  In order to be sure about the value, you would 
need to use getAttribute("href"), but there is IE/MSHTML.

Therefore, ISTM that you need to strip the protocol, host, and path part of 
the current document from the property value before you attempt a match.


PointedEars
-- 
Anyone who slaps a 'this page is best viewed with Browser X' label on
a Web page appears to be yearning for the bad old days, before the Web,
when you had very little chance of reading a document written on another
computer, another word processor, or another network. -- Tim Berners-Lee

Back to comp.lang.javascript | Previous | Next — Previous 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