代码如下:
HTML code
<select id="ddl" onchange="ddl_change(this)""><option value="100" emoney="12" gmoney="12">日卡</option>
<option value="102" emoney="58" gmoney="58">月卡</option>
<option value="103" emoney="518" gmoney="518">年卡</option>
<select>
JScript code
function ddl_change(obj){alert($("#ddl")attr("emoney"));
}
说明:当下拉框发生改变时就会调用ddl_change方法,从而执行JS的ddl_change方法来实现。
定义和用法:
attr() 方法设置或返回被选元素的属性值。
根据该方法不同的参数,其工作方式也有所差异。
返回属性值:
返回被选元素的属性值。
1 定义一个以Attribute结尾的特性类, 特性类继承自SystemAttribute, 如下所示[AttributeUsage(AttributeTargetsProperty, AllowMultiple=false)]
public class PrimaryKeyAttribute : SystemAttribute
{
其中AttributeTargets是一个枚举的值, 可以是: Assembly | Module | Class | Struct | Enum | Constructor | Method | Property | Field | Event | Interface | Parameter | Delegate
2 在需要使用的地方使用PrimaryKey自定义特性标签, 如下所示
[PrimaryKey(Column = "CustomerID", IsIdentity=false)]
public int ID
{
3 为了获取自定义特性的信息, 需要反射的方式获取其数据, 首先我们定义一个类来存储这些信息, 如下所示
public class PrimaryKeyModel
{
private readonly PropertyInfo propertyInfo;//外键的属性字段信息
private readonly PrimaryKeyAttribute primaryKeyAtt;//外键的特性信息
public static PrimaryKeyModel GetPrimaryKey(Type type)
{
PropertyInfo[] properties = typeGetProperties();
foreach (PropertyInfo p in properties)
{
object[] keys = pGetCustomAttributes(typeof(PrimaryKeyAttribute), true);
if (keysLength == 1)
{
return new PrimaryKeyModel(p, keys[0] as PrimaryKeyAttribute);
}
}
return null;
}
4 在Customer类中获取其特性的信息代码如下
string strReturn = stringEmpty;
//Get PrimaryKey Name
PrimaryKeyModel attribute= PrimaryKeyModelGetPrimaryKey(thisGetType());
if(attribute != null)
{
strReturn += stringFormat("PrimaryKey Name:{0} IsIdentity:{1} Column:{2}\r\n",
attributePropertyName, attributePrimaryKeyAttIsIdentity, attributePrimaryKeyAttColumn);
}<script>
var testEle = documentgetElementById("test");
testElesetAttribute("demo");
</script>
<a href="#" id="test" demo="1" onclick="alert(thisattributes['demo']nodeValue)">(1)有</a>
<a href="#" id="test" demo="2" onclick="alert(thisattributes['demo']nodeValue)">(2)无</a><a class="myclass" href="" action="delete">删除</a><!--这里的action="delete"就是自定义属性-->var action = $('myclass')attr('action');<br>alert('自定义属性action的值为:'+action);attr方法可以设置和获取元素的属性attr和prop都是Jquery对象用于设置或者获取DOM元素的函数, 比如 *** 作disabled控制按钮是否可用; 最近再 *** 作checkbox时发现, 使用attr无法生效只能使用后者 依赖于getAttribute()和setAttribute()两个函数
attribute指明的是HTML文档节点属性;
prop可以获取的是DOM节点对应的JS对象的属性, 我们可以使用诸如documentgetElementById("su")获取一个JS对象, DOM节点上的属性再这个对象上未必有, 这个对象上的属性也未必在DOM节点上显示的说明
elgetAttribute('x')
elsetAttribute('x')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)