我希望有人能帮忙。我有这样一个环节:用jQuery改变属性
<a id='testOne' onclick="doTest('one'); return false;" title="Test One">One</a>
我需要的是拥有jQuery的做到以下几点:
- 去掉标题和禁用链接的作用
- 加回的标题是“测试一个“,并启用链接的动作
有没有任何jQuery专家可以告诉我如何做到这一点。现在我的jQuery知识只是选择器,几乎没有更多。我希望我能举一个例子。
感谢
我希望有人能帮忙。我有这样一个环节:用jQuery改变属性
<a id='testOne' onclick="doTest('one'); return false;" title="Test One">One</a>
我需要的是拥有jQuery的做到以下几点:
有没有任何jQuery专家可以告诉我如何做到这一点。现在我的jQuery知识只是选择器,几乎没有更多。我希望我能举一个例子。
感谢
试试这个
//To remove the title and default action.
$("#testOne").attr("title", "").click(function(e){
e.preventDefault();
}).attr("onclick", null);
//To reset the title and action
$("#testOne").attr("title", "Test One").click(function(e){
doTest('one');
});
我喜欢这个答案。谢谢。 – Melinda
简单:
$('#testOne').attr('title', '').attr('title', 'Test One').attr('href', 'someLink');
attr()
获取或设置一个属性,你可以命令链在一起。
如果 '启用链接的作用' 你的意思是模拟点击,试试这个:
$('#testOne').trigger('click');
您也可以跳过您onclick
语法,做:
$('#testOne').click(function (ev) {doTest('one');});
您可以使用.attr()
编辑属性,例如:
$('#testOne').attr('title', '');
$('#testOne').attr('onclick', '');
$('#testOne').attr('title', 'Your old title');
$('#testOne').attr('onclick', 'Your old onclick');
如果你想保留的元素的内嵌代码(即在onclick=...
部分),那么你将不得不使用这样的代码:
var actionsMapping = {};
function Disable() {
var oLink = $("#testOne").get(0);
if (oLink.onclick != null)
actionsMapping[oLink] = oLink.onclick;
oLink.onclick = null;
}
function Enable() {
var oLink = $("#testOne").get(0);
if (actionsMapping[oLink] != null)
oLink.onclick = actionsMapping[oLink];
}
的属性集合只能存储字符串常量,当你需要存储实际的事件处理程序。
如果可能的话,您应该首先使用jQuery来应用您的处理程序。使用某种“全局”状态禁用比重新应用更容易。
<a id='testOne' title="Test One">One</a>
<script type="text/javascript">
$(function() {
var testOneClicked = false;
$('#testOne').click(function() {
if (testOneClicked) {
$(this).attr('title','Test One');
}
else {
$(this).attr('title','');
doTest('one');
}
testOneClicked = !testOneClicked;
return false;
});
});
</script>
随着实验位,您可以扩展,使用阵列和index方法,考虑到任何数量的提供,他们同样工作环节。您只需跟踪doTest
函数的参数以及一组数组中与链接相关位置对应的数组中的标题,并根据链接索引点击它们时提取它们。
jQuery有文档:http://api.jquery.com/值得看看它。 –