Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅返回一个的文本<;h3>;父标签_Javascript_Jquery_Html_Ios_Mobile - Fatal编程技术网

Javascript 仅返回一个的文本<;h3>;父标签

Javascript 仅返回一个的文本<;h3>;父标签,javascript,jquery,html,ios,mobile,Javascript,Jquery,Html,Ios,Mobile,好的,我正在使用jquery mobile创建一个移动应用程序,我有一个动态创建的按钮,它是在用户搜索联系人时创建的。当用户找到他/她的搜索联系人的匹配项时,名称将显示在动态创建的标记中。如果存在多个同名人员,则结果可能返回重复项。使用我现在拥有的代码,如果我单击按钮,我只希望它提醒我按钮上方包含的名称。它工作正常,除非有重复,然后它会提醒所有的名称,因为所有的按钮都有相同的类 以下是创建和按钮的循环: for (var i=0; i<contacts.length; i++) {

好的,我正在使用jquery mobile创建一个移动应用程序,我有一个动态创建的按钮,它是在用户搜索联系人时创建的。当用户找到他/她的搜索联系人的匹配项时,名称将显示在动态创建的标记中。如果存在多个同名人员,则结果可能返回重复项。使用我现在拥有的代码,如果我单击按钮,我只希望它提醒我按钮上方包含的名称。它工作正常,除非有重复,然后它会提醒所有的名称,因为所有的按钮都有相同的类

以下是创建和按钮的循环:

    for (var i=0; i<contacts.length; i++) {
            $('#srchResults').append("<div id='resultdiv"+i+"' data-role='collapsible'><h3 id = 'nameh3"+i+"'>"+contacts[i].name.formatted+"</h3>"+"<p>"+'<a href="#"                  data-role="button" data-icon="plus" data-iconpos="notext" data-theme="c" data-inline="true" class="btnDisguise">'+'Plus'+'</a>'+'<a href="#" data-role="button" data-icon="info" data-iconpos="notext" data-theme="c" data-inline="true" class="btnInfo">'+'Info'+'</a>'+"</p></div>").trigger('create');    
    }

我需要找到一种方法来提醒按钮所关联的属性,非常感谢您提供的任何帮助。

resultdiv
添加一个class属性,然后使用
.closest()
查找单击的按钮所属的
resultdiv
,然后查找其中的
h3

 for (var i = 0; i < contacts.length; i++) {
     $('#srchResults').append("<div id='resultdiv" + i + "' class='resultdiv' data-role='collapsible'><h3 id = 'nameh3" + i + "'>" + contacts[i].name.formatted + "</h3>" + "<p>" + '<a href="#"                  data-role="button" data-icon="plus" data-iconpos="notext" data-theme="c" data-inline="true" class="btnDisguise">' + 'Plus' + '</a>' + '<a href="#" data-role="button" data-icon="info" data-iconpos="notext" data-theme="c" data-inline="true" class="btnInfo">' + 'Info' + '</a>' + "</p></div>").trigger('create');
 }

演示:

打字错误
var$this=$(this),
应以
结尾
@DrixsonOseña:可能是一个打字错误,但不是语法错误(尽管在这种情况下缩进通常不同,在
$this
下缩进
h3text
)。@DrixsonOseña这是一个打字错误吗?他们声明了两个变量…
$this
h3text
@DrixsonOseña,这将使
h3text
成为一个全局变量,我肯定不是什么操作wants@charlietfl,不,我不是说只是指出一个语法错误,这是一个注释顺便说一句:)
 for (var i = 0; i < contacts.length; i++) {
     $('#srchResults').append("<div id='resultdiv" + i + "' class='resultdiv' data-role='collapsible'><h3 id = 'nameh3" + i + "'>" + contacts[i].name.formatted + "</h3>" + "<p>" + '<a href="#"                  data-role="button" data-icon="plus" data-iconpos="notext" data-theme="c" data-inline="true" class="btnDisguise">' + 'Plus' + '</a>' + '<a href="#" data-role="button" data-icon="info" data-iconpos="notext" data-theme="c" data-inline="true" class="btnInfo">' + 'Info' + '</a>' + "</p></div>").trigger('create');
 }
$(document.body).on('click', '.btnInfo', function () {
     var $this = $(this),
         h3text = $this.closest('.resultdiv').find("h3").text();
     alert(h3text);
 });