Thanks for your help & explanations Karl. This is my final code for the
greasemonkey script. It seems to be working just fine with your code. Thanks
again.

// ==UserScript==
// @name          WikiLinkStyle
// @namespace     wp
// @description   Style Unstyled Wiki Links
// @include       http://*.whirlpool.net.au/*
// ==/UserScript==

// Check if jQuery's loaded
function GM_wait() {
        if(typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(GM_wait,100); }
        else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();

// All your GM code must be inside this function
function letsJQuery() {
$('a > span').contains('index.cfm?a=wiki&tag=').each(function(i){
var $this = $(this);
$this.html( $this.html().replace( /index.cfm\?\a\=wiki\&tag\=/gi,
"")).css({"border-bottom": "1px dotted #773300", color: "#773300",
"text-decoration": "none"}).siblings().hide(); 
});
}


Karl Rudd wrote:
> 
> In this case either html() or text() should work as there are no other
> HTML elements inside the span.
> 
> As I said, in the "each" function "this" refer to the raw DOM node,
> that does not have a "text()" function. The "text()" function is part
> of jQuery, which acts as kind of a "wrapper" for the elements.
> 
> The text() function returns the text of the elements selected:
> 
>     http://docs.jquery.com/DOM/Attributes#text.28.29
> 
> To actually _set_ that text you need to use the text( 'string value' )
> function:
> 
>     http://docs.jquery.com/DOM/Attributes#text.28_val_.29
> 
> See the definitions of html() and html( value ) on the same page.
> 
> You could use the "innerHTML" property of the span if you like, i.e.:
> 
>     this.innerHTML( this.innerHTML.replace(/index.cfm?a=wiki&tag=/gi, "")
> );
> 
> As for the site using jQuery already, do you mean the Whirlpool forum
> or the wiki? The forum doesn't appear to include jQuery. I wasn't able
> to check the wiki as the site went down for maintainence while I was
> reading.
> 
> Karl Rudd
> 
> On 2/28/07, Yansky <[EMAIL PROTECTED]> wrote:
>>
>> Hi, thanks for the reply.
>>
>> I tried your code inside the function but it didn't work unfortunately.
>>
>> This is the actual site with the links I'm trying to convert:
>> http://forums.whirlpool.net.au/forum-replies.cfm?t=661554
>> I'm hoping to make a greasemonkey script since the site already uses the
>> jQuery library.
>>
>> BTW, with my previous attempt, you said that the "each" function returns
>> the
>> raw DOM, but doesn't the "text" function access the text inside the node
>> (in
>> this case the span tag)?
>>
>> Thanks for your help so far, I've been trying to figure this out by
>> myself
>> all night. :)
>>
>>
>> Karl Rudd wrote:
>> >
>> > You almost have it. The "each" function actually returns the "raw" DOM
>> > element so to use jQuery you'll need to "enclose" this.
>> >
>> > Just replace the core with:
>> >
>> > var $this = $(this);
>> > $this.html( $this.html().replace(/index.cfm?a=wiki&tag=/gi, "") );
>> >
>> > Karl Rudd
>> >
>> > On 2/28/07, Yansky <[EMAIL PROTECTED]> wrote:
>> >>
>> >> I have many of the following type of links on a page:
>> >> < a
>> >>
>> href="htp://foo.com/index.cfm?a=wiki&tag=abc"><span>htp://foo.com/index.cfm?a=wiki&tag=abc</span>
>> >>
>> >> I'm trying to remove the text in between the span tags so that only
>> the
>> >> text
>> >> after http://foo.com/index.cfm?a=wiki&tag= is showing. I have tried
>> the
>> >> following, but it doesn't seem to work.
>> >>
>> >> $('a > span').contains('index.cfm?a=wiki&tag=').each(function(i){
>> >>   this.text().replace(/index.cfm?a=wiki&tag=/gi, "");
>> >> });
>> >>
>> >> Can anyone point me in the right direction?
>> >> Cheers.
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/Replace-text-in-array-tf3308186.html#a9201977
>> >> Sent from the JQuery mailing list archive at Nabble.com.
>> >>
>> >>
>> >> _______________________________________________
>> >> jQuery mailing list
>> >> [email protected]
>> >> http://jquery.com/discuss/
>> >>
>> >
>> > _______________________________________________
>> > jQuery mailing list
>> > [email protected]
>> > http://jquery.com/discuss/
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Replace-text-in-array-tf3308186.html#a9202631
>> Sent from the JQuery mailing list archive at Nabble.com.
>>
>>
>> _______________________________________________
>> jQuery mailing list
>> [email protected]
>> http://jquery.com/discuss/
>>
> 
> _______________________________________________
> jQuery mailing list
> [email protected]
> http://jquery.com/discuss/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Replace-text-in-array-tf3308186.html#a9242016
Sent from the JQuery mailing list archive at Nabble.com.


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to