This calls for a function, where you can hide the gory details.  Use a
selector to gather up the "a" elements, and pass that as the argument
to the function.
pseudocode:

var linksToChange = JQuery Selector;
function changeLinks( linksToChange ){

    either:
        a "for" loop to step through the object links ToChangelike an
array
        probably an "if" conditional in every iteration
        see:http://tinyurl.com/3sdkgl
        also check out jquery's .each() iterator in the Utilities
section of the docs


    or:
       a "switch" statement
       see: http://tinyurl.com/osezq2
}



On May 14, 3:18 pm, vmrao <maheshpav...@gmail.com> wrote:
> OK. I was able to add the text as well as apply special style to it
> using the following code.
>
> $("a[href$='.doc']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.doc' + ") "));
> $("a[href$='.docx']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.docx' + ") "));
> $("a[href$='.xls']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.xls' + ") "));
> $("a[href$='.xlsx']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.xlsx' + ") "));
> $("a[href$='.ppt']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.ppt' + ") "));
> $("a[href$='.pptx']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.pptx' + ") "));
> $("a[href$='.pdf']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.pdf' + ") "));
> $("a[href$='.mpg']:not(a[href^='http'])").after($('<span/>').attr
> ('class','fileExtension').html(" (" + '.mpg' + ") "));
>
> However, I am not sure if there is scope to minimize the above code
> (as you see one line for every file extension).
>
> On May 14, 2:42 pm, vmrao <maheshpav...@gmail.com> wrote:
>
> > I think it is not clear. Here is my code.
>
> > $("a[href$='.doc']").after(" (" + '.doc' + ") ");
> > $("a[href$='.docx']").after(" (" + '.docx' + ") ");
> > $("a[href$='.xls']").after(" (" + '.xls' + ") ");
> > $("a[href$='.xlsx']").after(" (" + '.xlsx' + ") ");
> > $("a[href$='.ppt']").after(" (" + '.ppt' + ") ");
> > $("a[href$='.pptx']").after(" (" + '.pptx' + ") ");
> > $("a[href$='.pdf']").after(" (" + '.pdf' + ") ");
> > $("a[href$='.mpg']").after(" (" + '.mpg' + ") ");
>
> > I would like to know if it is possible to have a one-line code which
> > replaces all the above code. Also, for the extra text (ex: .doc) being
> > added, I need to add a special CSS style. I tried this and it does not
> > work.
>
> > $("a[href$='.doc']").after(" (" + '.doc' + ") ").addClass
> > ("fileExtension");
>
> > On May 14, 2:00 pm, waseem sabjee <waseemsab...@gmail.com> wrote:
>
> > > here i modified my code for class adding
>
> > > var obj = $("a");
>
> > > for(var i = 0; i < obj.length; i++) {
> > > obj.eq(i).wrap("<span></span>"
>
> > > > ); // wrap the hyperlink in a span tag
> > > > obj.parent().eq(i).prepend('<span class="before">This is text before the
> > > > hyperlink</span>');
> > > > obj.parent().eq(i).append('<span class="after">This is text after the
> > > > hyperlink</span>');
> > > > }
>
> > > On Thu, May 14, 2009 at 7:58 PM, waseem sabjee 
> > > <waseemsab...@gmail.com>wrote:
>
> > > > var obj = $("a");
>
> > > > for(var i = 0; i < obj.length; i++) {
> > > > obj.eq(i).wrap("<span></span>"); // wrap the hyperlink in a span tag
> > > > obj.parent().eq(i).prepend("This is text before the hyperlink");
> > > > obj.parent().eq(i).append('This is text after the hyperlink');
> > > > }
>
> > > > use the above common method and you can furthur change this script to 
> > > > look
> > > > for hyperlinks with a specific class by saying :
> > > > var obj = $("a.myclass");
> > > > or
> > > > var obj = $("a#myid");
> > > > may be even
> > > > var obj = $("h2 a");
>
> > > > On Thu, May 14, 2009 at 7:46 PM, vmrao <maheshpav...@gmail.com> wrote:
>
> > > >> Also, I would like to apply a specific CSS style to the text being
> > > >> added.
>
> > > >> Here is my CSS.
> > > >> .fileExtension {
> > > >>        padding-left:0pt;
> > > >>        font-family: Arial, Helvetica, sans-serif;
> > > >>        font-size: 7pt;
> > > >>        font-weight: normal;
> > > >>        color: #354963;
> > > >> }
>
> > > >> On May 14, 1:18 pm, vmrao <maheshpav...@gmail.com> wrote:
> > > >> > Thanks. How about if I want to make it dynamic ? Say, I have several
> > > >> > links on the page with different extensions
> > > >> > (Ex: .doc, .docx, .ppt, .pptx, .pdf, .mpg). Can I accomplish the 
> > > >> > above
> > > >> > with one statement rather than hard coding what text to append for
> > > >> > each extension ?
>
> > > >> > On May 14, 12:23 pm, brian <bally.z...@gmail.com> wrote:
>
> > > >> > > $("a[href$='.pdf']").after(' (pdf)');
>
> > > >> > > On Thu, May 14, 2009 at 11:55 AM, vmrao <maheshpav...@gmail.com>
> > > >> wrote:
>
> > > >> > > > I would like to display file extension along with the file links 
> > > >> > > > on
> > > >> a
> > > >> > > > web page.
>
> > > >> > > > For example, I would like to append (pdf) next to any pdf links.
>
> > > >> > > > The following code works to some extent but not as I intended.
> > > >> > > > $("a[href$='.pdf']").append(" (" + 'pdf' + ") ");
>
> > > >> > > > If I use the above code, (pdf) is also underlined being part of 
> > > >> > > > the
> > > >> > > > link. I want (pdf) next to the link and not as part of the link.-
> > > >> Hide quoted text -
>
> > > >> > > - Show quoted text -- Hide quoted text -
>
> > > >> > - Show quoted text -- Hide quoted text -
>
> > > - Show quoted text -- Hide quoted text -
>
> > - Show quoted text -

Reply via email to