首页 > 解决方案 > 从 jquery 中的 html 获取 id + 变量

问题描述

如何在不同的函数中从 html p 元素中找到特定的 id + 变量以避免 $(this).parent().... 没有 onclick(object.id) 或仅搜索 id = comment-object (不是唯一的)?

我想单击一个按钮以通过获取唯一 ID 来编辑特定的 p-tag 元素。

$(document).ready(function(){
 function renderCommentLine(object) {

        var htmlStart =
            "<div class='media cfe-media'>" + authorImage +
            "<div class='media-body'>" +
            author + "<small> vor " +
            timesince +
            "</small>" +
            "<p id='comment-object-" + object.id + "' class='media-content' + data-id='" + object.id + "'>" +
            object.content + "</p>" + "<small>" + '</div>'

       
        if (object.user) {
            if (object.user.username == authUsername) {
                htmlStart = htmlStart +
                    '<div class="dropdown">' +
                    '<button id="dropdown-button" data-toggle="dropdown">' +
                    '<span style="font-size: 3rem;" class="material-icons">more_vert</span>' +
                    '</button>' +

                    '<div class="dropdown-menu">' +
                    '<button class="media-edit" id="dropdown-item" type="button">' +
                    '<span style="font-size: 2.5rem;" class="material-icons">create</span>' +
                    'Bearbeiten</button></li>' +

                    '<button class="comment-delete" id="dropdown-item" type="button">' +
                    '<span style="font-size: 2.5rem;" class="material-icons">delete</span>' +
                    'Löschen</button></li>' +
                    '</div>' +
                    '</div>'
            }
        }
        var html_ = htmlStart + "</small></div></div>"
        return html_
    }
}}
    

    $(document).on('click', '.media-edit', function(e){ 
          e.preventDefault()
          var contentHolder = $(this).parent().parent().parent().parent().parent().find(".media-content")
        **//  var contentHolder = ("#comment-object" + object.id)**
          var contentTxt = contentHolder.text() 
          var objectId = contentHolder.attr('data-id') 
          contentHolder.replaceWith(generateEditForm(contentTxt, objectId))
        })

标签: htmljqueryvariablesclick

解决方案


推荐阅读