hi,
jQuery.fn.myfilter = function(str)
{
var retObj = {};
$(this).find(str).each(function()
Es gibt bei jquery einen Artikel zum Plugin-Authoring, den solltest Du dringend lesen. Wichtig ist immer die dieser Aufbau:
return this.each(function() {
...
});
damit die Verkettung der Methoden erhalten bleibt. Dein Versuchaufbau, der also alle Elemente der Klasse "hallo" unterhalb bestimmter Eltern rausfiltert sähe in Kurzform etwa so aus:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="HIER DEIN JQUERY"></script>
<script type="text/javascript">
(function($){
$.fn.myfilter = function(str) {
return this.each(function() {
$(this).find(str + ".hallo").each(function() {
$.myfilter.store.push( $(this).html() );
});
});
};
$.myfilter = {
store:[]
};
})( jQuery );
$(document).ready(function(){
$("div").myfilter("p");
alert($.myfilter.store.toSource())
});
</script>
</head>
<body>
<div>
<p>2</p>
<p class="hallo">3</p>
<p>4</p>
<p class="hallo">5</p>
</div>
<div>
<p>x</p>
<p class="hallo">y</p>
<p class="hallo">z</p>
</div>
</body>
</html>
Gruesse, Joachim
Am Ende wird alles gut.