jquery 如何在 AJAX 调用过程中添加数据属性

yuvru6vn  于 2023-02-12  发布在  jQuery
关注(0)|答案(3)|浏览(189)

我有一些静态的DOM内网页。我试图动态添加属性到一些现有的DOM元素和插入在一定的位置。这里是我目前正在尝试。

$.ajax({
         type:"GET",
         async: false,
         url:contextpath+"/phase/data/getData",
         data:postData,
         success: function (msg) {
               // msg ='<div class="row-sml">
                //            <div class="col col-xs-12 text-right plr30 mb8 displayhide">
               //               <button  type="button" class="btn btn-light-grey cus-btn mt10 rephrase-btn" id="submit-problem-phrase-button">Submit</button>
              //              </div>';
                $(msg).find('#submit-problem-phrase-button').attr('data',wikiTopicId);
                $('#insertHere').html(msg);
         },
         error:function (xhr, ajaxOptions, thrownError){
             $('.loader02,#overlay-bg,.trans-overlay').hide();
         } 
         });

但它不起作用

kokeuurv

kokeuurv1#

首先你必须附加html代码,然后改变data Attribute的顺序

$('#insertHere').html(msg);
 $(msg).find('#submit-problem-phrase-button').attr('data', wikiTopicId);

像这样

$.ajax({
  type: "GET",
  async: false,
  url: contextpath + "/phase/data/getData",
  data: postData,
  success: function(msg) {
    msg = '<div class="row-sml"> <div class="col col-xs-12 text-right plr30 mb8 displayhide"><button type="button"  class="btn btn-light-grey cus-btn mt10 rephrase-btn" id="submit-problem-phrase-button"> Submit</button> </div > ';
    $('#insertHere').html(msg);
    $(msg).find('#submit-problem-phrase-button').attr('data', wikiTopicId);

  },
  error: function(xhr, ajaxOptions, thrownError) {
    $('.loader02,#overlay-bg,.trans-overlay').hide();
  }
});
wkftcu5l

wkftcu5l2#

你的台词

$(msg).find('#submit-problem-phrase-button').attr('data',wikiTopicId);

......将解析HTML,在解析后的HTML中找到元素,并添加一个属性--然后丢弃所有这些内容。

$('#insertHere').html(msg);
    • 重新**解析HTML并插入。

而是插入它,然后更新:

$('#insertHere').html(msg);
$('#submit-problem-phrase-button').attr('data',wikiTopicId);

注意,我没有使用find。ID**必须是唯一的,所以我们可以只使用$("#...")
旁注:data是一个无效的HTML属性名。您可以使用任何以data-开头的名称,但是data本身是无效的。

z9smfwbn

z9smfwbn3#

$(".fa-trash").attr("data-rowid", msg.Sr_No);

添加要为其添加属性的元素的类或ID,然后添加实体名称

相关问题