在jQuery </div>中按名称访问<div>元素

时间:2013-01-17 07:58:52

标签: javascript jquery jquery-mobile

我在 -

中有以下内容
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>

双击名称值不会生成警报。

6 个答案:

答案 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)

您不需要最后一个“});”或者您没有粘贴整个代码。

请看这里:http://jsfiddle.net/4cajw/1/

答案 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;对象