我有一个函数,我通过调用jQuery中的元素上的each()来调用。我想传递我调用each()的元素作为参数。这是我现在拥有的代码的抽象版本,但是当我将$(this)传递给each()的回调时,它会传递文档。
var myFunction = function(element){
//do stuff with element
};
$('.element').each(myFunction($(this)));
我会很高兴得到任何帮助,欢呼!
答案 0 :(得分:3)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="#0088cc"
android:gravity="center_vertical"
android:orientation="horizontal" >
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.10" />
<ImageButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:background="@null"
android:scaleType="fitCenter" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.25" />
<ImageButton
android:id="@+id/imgDeliveryBack"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1.28"
android:background="@null"
android:padding="5dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_action_pass" />
<TextView
android:id="@+id/txvdeliveryheader"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".5"
android:fontFamily="Roboto regular"
android:gravity="left|center"
android:text="Filter"
android:textColor="#f8f8f8"
android:textSize="18sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".9"
android:gravity="left|center"
android:text="@null"
android:textColor="#ffffff" >
</TextView>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/horizontal_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#168fcc"
android:orientation="horizontal" >
<Gallery
android:id="@+id/horizontalscrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/drawer_shadow"
android:columnWidth="70dp"
android:fadingEdgeLength="0dp"
android:horizontalSpacing="5dp"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />
</LinearLayout>
<ImageView
android:id="@+id/imgprev"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/ic_action_pass" />
<ImageView
android:id="@+id/imgnext"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:src="@drawable/ic_action_like" />
</RelativeLayout>
<ListView
android:id="@+id/lstfilter"
android:layout_width="match_parent"
android:layout_height="340dp"
android:layout_marginBottom="20dp"
android:layout_marginTop="40dp"
android:layout_weight="0.3" >
</ListView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="1"
android:orientation="horizontal" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="0.5" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="#035f8d" >
<TextView
android:id="@+id/txvremove"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:gravity="center"
android:padding="5dp"
android:src="@drawable/ic_action_pass"
android:text="@string/abc_action_bar_home_description"
android:textColor="#ffffff"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="0.5" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="#000000" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:gravity="center"
android:padding="5dp"
android:src="@drawable/ic_action_like"
android:text="APPLY"
android:textColor="#ffffff"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
您正在处理的模式可以直接转换为jQuery插件:
$.fn.myFunction = function() {
return this.each(function() {
// original "myFunction" code
// here, "this" will be bound to each element
});
};
现在你可以写
了$(".element").myFunction();
如果你用我的例子中的return
语句编写它,你可以像使用任何其他jQuery函数一样使用它:
$(".element").addClass("something-else").myFunction().hide();