在函数clickCircle中,我想使用被点击的li。所以我希望将其作为参数接收。
<li class="circle" onClick='clickCircle(this)'></li>
但是我应该发送什么作为一个实际的参数?即代替'this'。
答案 0 :(得分:7)
您可以使用this
:
function clickCircle(obj) // the li element clicked in the current scope
{
var element = obj; // This is the DOM object being clicked
var $this = $(obj); // This is the jQuery object being clicked
// Use DOM object like
element.style.color="#ff0000";
// Use jQuery object like
$this.css('color', 'red');
}
答案 1 :(得分:0)
试试这个
<li class="circle"></li>
$('.circle').on('click', function(event) {
event.target // your element
});
答案 2 :(得分:0)
您应该只使用第一个参数作为元素。
<li class="circle" onClick='clickCircle(this)'></li>
clickCircle=function(element)
{
console.log(element)
console.log(element.tagName) // This will show LI
}
JSFiddle:http://jsfiddle.net/edi9999/WhVLm/
答案 3 :(得分:0)
你可以用这样的jquery来做:
$(function () {
$('li.circle').on('click', function () {
clickCircle($(this));
});
});
var clickCircle = function (param) {
// your code here
// param.css('color', 'red').html();
};
或使用原始javascript:
<强> HTML 强>
<li id="circle" class="circle"></li>
<强> JAVASCRIPT 强>
var circle = document.getElementById('circle');
circle.addEventListener('click', function (e) {
clickCircle(e.target);
});
var clickCircle = function (param) {
// your code here
// alert(param.nodeName.toLowerCase());
}