unbekanntes Konstrukt

Zack

cookies vader
Hallo,

ich bin gerade bei dem Versuch das jQuery.address Plugin(http://www.asual.com/jquery/address/) für meine Zwecke ein wenig zu erweitern. Dabei kommt man ja nicht darum den Code zu analysieren.
Dabei bin ich auf folgendes Konstrukt gestoßen:
Javascript:
 var value = fn ? fn.call(this) : 
    /address:/.test($(this).attr('rel')) ? $(this).attr('rel').split('address:')[1].split(' ')[0] : 
    $.address.state() !== undefined && $.address.state() != '/' ? 
            $(this).attr('href').replace(new RegExp('^(.*' + $.address.state() + '|\\.)'), '') : 
            $(this).attr('href').replace(/^(#\!?|\.)/, '');
Das ist leider nicht wirklich lesbar, deswegen hab ich das ganze mal ein auseinander gefummelt:
Javascript:
var value = null;
if(fn)
	value = fn.call(this);
else{
	if(/address:/.test($(this).attr('rel'))){
		value = $(this).attr('rel').split('address:')[1].split(' ')[0];
	}else{ 
		if( $.address.state() !== undefined && $.address.state() != '/'){
			value = $(this).attr('href').replace(new RegExp('^(.*' + $.address.state() + '|\\.)'), '');
		}else{
			value = $(this).attr('href').replace(/^(#\!?|\.)/, '');
		}
	}
}
Ok soweit schon besser verständlich, das einzige was mich verwirrt ist dieses Konstrukt:
Javascript:
if(/address:/.test($(this).attr('rel')))
Was genau macht das?

Zack
 
Zuletzt bearbeitet von einem Moderator:
Code:
/address:/
Das ist ein regulärer Ausdruck, der per test() auf das rel-Attribut des betreffenden Elementes angewendet wird.

die ominöse Zeile testet also, ob im rel-Attribut der String address: vorkommt.

Falls ja, gibt test() true zurück, andernfalls false
 
Zurück