Cor*_*eDo 2 html javascript jquery
我想id在jQuery中点击它时选择当前div.
例如,假设我有这样的HTML:
<div class="item" id="10">hello world</div>
<div class="item_10">hello people</div>
Run Code Online (Sandbox Code Playgroud)
当我点击类上的第一个div时.item,我想复制id当前div +加上数字(10),所以它将("div id" + 10)等于第二个dev class = item_10.
我尝试使用,currentid = this.id;但它不起作用:(!
首先,请注意,id在HTML4中,以数字开头的属性在语法上是非法的.如果您正在使用id="10",请确保您使用的是HTML5 doctype(<!DOCTYPE html>).
很难说为什么你没有看到你的实际代码就行不通.大概是因为你在更高的元素(如身体)上注册事件,并且this.id是id更高元素而不是你点击的元素.
在这种情况下,您希望使用target事件的属性来查找您单击的内容.例如:
$(document.body).click(function(evt){
var clicked = evt.target;
var currentID = clicked.id || "No ID!";
$(clicked).html(currentID);
})
Run Code Online (Sandbox Code Playgroud)
如果您正在注册特定元素,那么this.id 确实有效:
$('div').click(function(evt){
var currentID = this.id || "No ID!";
$(this).html(currentID);
})
Run Code Online (Sandbox Code Playgroud)
见过:http://jsfiddle.net/Gra2P/1/
然而,这是次要的,因为:
在jQuery 1.7下,您可以使用该.on方法在父元素上创建单个事件处理程序,其中包含要捕获事件的元素种类的选择器,并this设置为它们.在代码中:
$(document.body).on('click','div',function(evt){
var currentID = this.id || "No ID!";
$(this).html(currentID);
})
Run Code Online (Sandbox Code Playgroud)
见过:http://jsfiddle.net/Gra2P/2/