我有一个li如下
<li class="active">
<a href="#" onclick="editCategory(this)" class="active" value="14-client" id=""> qqqq
<i class="glyphicon glyphicon-trash pull-right" style="display:none"></i></a>
</li>
它有一个隐藏在<i class="glyphicon glyphicon-trash pull-right" style="display:none"></i>
我只想在锚标记上单击鼠标时显示此标记,因此我写了onclick="editCategory(this)"
这是我的功能
function editCategory(id)
{
alert('category');
$(this).children().show();
}
所以当我点击锚标签然后警报工作alert('category')
但是i标签没有显示。
任何人都可以指出我做错了吗
答案 0 :(得分:1)
使用:
function editCategory(id)
{
alert('category');
$(id).find('i').show("100");
}
DEMO
$(document).ready(function(){...});
,javascript
中的JQuery
也会丢失DOM
,请确保在$(document).ready(function(){
// Here $(this) will be `document` object
$(".active").click(function(){
//alert('category');
$(this).find('i').show("100"); // Now this refers to object from which event is bubbled or generated.
});
});
准备就绪后立即就绪。
html
,您的<a href="#" class="active" value="14-client" id="qqq"> qqqq
<i class="glyphicon glyphicon-trash pull-right" style="display:none">aaa</i></a>
将是:
JQuery
DEMO
我的意思是这是inline-javascript
男人的时代。你还在使用function editCategory(id)
{
alert('category');
console.log($(this)); //or try alert instead of console.log, it Will Log/alert Window Object
console.log($(id)); // This will log <a> Object.
$(id).find('i').show("100");
}
。只是摆脱它。
id
您将this
作为对象$(this)
(锚点obj)传递给函数,而window
(您正在访问的对象)现在正在引用(在您的情况下){ {1}}对象。
DEMO
希望它有所帮助。
答案 1 :(得分:1)
尝试使用like this代替(将其置于<head><script>...</script></head>
之间):
$(function(){
$('a.active').on('click', function(e){
e.preventDefault();
$(this).find('i').show();
});
});
使用此HTML
:
<li class="active">
<a href="#" class="active" value="14-client" id=""> qqqq
<i class="glyphicon glyphicon-trash pull-right" style="display:none"></i>
</a>
</li>
答案 2 :(得分:0)
function editCategory(id)
{
alert('category');
$(id).children().show();
}
$(id)
而非$(this)
因为$(this).children().show();
表示this
的功能,而不是this
的{{1}}标记。
答案 3 :(得分:0)
<强> Demo 强> 试试这个
$("li.active a.active").click(function() {
$(this).find("i").show();
});
答案 4 :(得分:-1)
使用它。 <i>
是您<a>
标记的子级。的 Demo Fiddle 强>
您已将this
作为参数传递给editCategory(id)
引用的id
功能。
function editCategory(id)
{
alert('category');
$(id).children('i').show();
}
或者
function editCategory(id)
{
alert('category');
$(id).find('i').show();
}
其他替代方案,
$('i',id).show();