我在 -
中有以下内容var jsonObj = [ {"name" : "Jason"},{"name":"Bourne"},{"name":"Peter"},{"name":"Marks"}];
<!---->
$("#getname").click(function() {
var response = getNames(jsonObj);
$("#nameData").html(response);
});
function getNames(jsonObj){
var response = JSON.stringify(jsonObj);
for ( var i = 0, len = jsonObj.length; i < len; i++) {
var nameVal = jsonObj[i].name;
response = response.replace(nameVal,replaceTxt(nameVal,i));
}
return response;
}
function replaceTxt(nameVal,cnt){
return "<u id='"+cnt+"' name='names' >"+nameVal+"</u> ";
}
$('u[name="names"]').dblclick(function(){
var currentId = $(this).attr('id');
alert(currentId);
});
});
和html如下 -
<button id="getname">Get Name</button>
<div id="nameData"></div>
双击名称值不会生成警报。
答案 0 :(得分:1)
你确定它是..
<dev id="nameData"></dev>
OR
<div id="nameData"></div>
这有效......但你在问题上还有一个});
...(不知道这是不是一个错字)
fiddle此处
答案 1 :(得分:1)
试试这个:
$(document).ready(function(){
$('u[name="names"]').live("dblclick", function(){
var currentId = $(this).attr('id');
alert(currentId);
});
});
答案 2 :(得分:0)
尝试移动此代码:
$('u[name="names"]').dblclick(function(){
var currentId = $(this).attr('id');
alert(currentId);
});
});
里面
$("#getname").click(function() {
var response = getNames(jsonObj);
$("#nameData").html(response);
});
像:
$("#getname").click(function() {
var response = getNames(jsonObj);
$("#nameData").html(response);
$('u[name="names"]').dblclick(function(){
var currentId = $(this).attr('id');
alert(currentId);
});
});
});
答案 3 :(得分:0)
您不需要最后一个“});
”或者您没有粘贴整个代码。
答案 4 :(得分:0)
由于您的代码建议您.dblclick()
使用动态生成的元素,但这不起作用,you have to select parent elem which exist in the document
$(document).on('dblclick','u[name="names"]', function(){
var currentId = $(this).attr('id');
alert(currentId);
});
试一试。
答案 5 :(得分:-1)
JSON.stringify - object - &gt; JSON。
JSON.parse - JSON - &gt;对象