我想输出我悬停的元素。我不想在里面输出html。
EG ..如果我将鼠标悬停在
上<i class="fa fa-wrench"><span>TEST</span></i>
我可以输出类似
的内容<i class="fa fa-wrench">
我可以成功地将该元素输出到console.log中,但是当我使用append执行此操作时,我得到[object Object]的输出。
var currentNode = null;
$('body').mousemove(function(event) {
if ($(event.target) !== currentNode) {
currentNode = $(event.target);
console.log(currentNode);
}
});
输出示例(来自console.log):
[i.fa.fa-wrench, context: i.fa.fa-wrench, jquery: "1.11.0", constructor: function, selector: "", toArray: function…]
$('.specific-div).append('<div>ID:' + currentNode + '</div>');
输出示例(附加到.specific-div):[object Object]
答案 0 :(得分:2)
var currentNode = null;
$('body').mousemove(function (event) {
if ($(event.target) !== currentNode) {
currentNode = $(event.target).attr("id");
console.log(currentNode);
$('.specific-div').append(' < div > ID: ' + currentNode + ' < /div>');
}
});
如果您想获取HTML而不仅仅是ID,请尝试:
currentNode = $(event.target).html();
答案 1 :(得分:2)
尝试
var currentNode = null;
$('body').mousemove(function(event) {
if ($(event.target) != currentNode) {
currentNode = $(event.target);
htmlText = $('<div>').append($(currentNode).clone().empty()).html();
console.log(htmlText);
}
});
答案 2 :(得分:1)
假设所有元素的类都是唯一的,请获取您悬停在其上的元素的类:
var handle = document.querySelectorAll('.class-of-hovered-element')[0].outerHTML;
console.log(handle);
如果有帮助,请告诉我。
答案 3 :(得分:0)
试试这个:
对于每个元素,将在mousemove
var currentNode = null;
$('body >').mousemove(function(event) {
if ($(event.target) !== currentNode) {
$('.specific-div').append($('<p>').text($('<p>').append($(this).clone().empty()).html()));
currentNode = $(event.target);
}
});
对于像class
fa-wrench
$('.fa-wrench').mouseenter(function() {
$('.specific-div').append($('<p>').text($('<p>').append($(this).clone().empty()).html()));
});
答案 4 :(得分:0)
var currentNode = null;
$('body').click(function(event) {
if ($(event.target) !== currentNode) {
var tag=$(event.target).prop('tagName');
tag="<"+tag;
$.each($(event.target).attributes, function() {
if(this.specified) {
tag+=this.name+"='"+this.name+"' ";
}
});
tag+=">";
console.log(tag);
}
});
并在jquery
中添加(function(old) {
$.fn.attr = function() {
if(arguments.length === 0) {
if(this.length === 0) {
return null;
}
var obj = {};
$.each(this[0].attributes, function() {
if(this.specified) {
obj[this.name] = this.value;
}
});
return obj;
}
return old.apply(this, arguments);
};
})($.fn.attr);
这可能有助于尝试..