Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 如何使用jquery使用“数据id”属性更改innerHtml内容?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 如何使用jquery使用“数据id”属性更改innerHtml内容?

Javascript 如何使用jquery使用“数据id”属性更改innerHtml内容?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有这个html,我想通过下面给出的数据id来更改内容 <li data-id="528"> <a title="LOGIN" class="dropdown-toggle" href="#"> <i class="glyphicon glyphicon-user"></i>LOGIN</a> <div style="width: 350px;" data-width="350" data-class=

我有这个html,我想通过下面给出的数据id来更改内容

<li data-id="528">
  <a title="LOGIN" class="dropdown-toggle" href="#">
          <i class="glyphicon glyphicon-user"></i>LOGIN</a>
  <div style="width: 350px;" data-width="350" data-class="menu-login-row">My other content</div>
</li>
如果可以的话,请告诉我

谢谢。

是的,这是可能的

像这样

<li data-id="528">
  <a title="LOGOUT" href="/logout">
          <i class="glyphicon glyphicon-user"></i>LOGOUT</a>
  <div style="width: 350px;" data-width="350" data-class="menu-login-row">My other content</div>
</li>

您可以通过属性选择器获取元素,并使用.html修改内容:

var a=$('li[data-id="528"]').find('a');
a.attr('href','/logout');
a.contents().filter(function() {
    return this.nodeType == 3
}).each(function(){
    this.textContent = this.textContent.replace('LOGIN','LOGOUT');
});
试试看

$(selector).html(whatEverYouWant);

您可以为此只编写一行代码

var htmlData = '<a title="LOGOUT" href="/logout">';
    htmlData+= '<i class="glyphicon glyphicon-user"></i>LOGOUT</a>';
    htmlData+='<div style="width: 350px;" data-width="350" data-class="menu-login-row">My other content</div>';  


jQuery('li[data-id="528"]').html(htmlData);

请更具体地说明你想要完成什么,问题很模糊看看这篇文章:你可以像$li[data id=528]那样得到它。你不能这样做。因为它会删除@debin。请注意,OP的问题是如何更改innerHtml内容,更不用说你在说什么了,你只需要包装你想要的东西。html是一样的。他想改变innerHTML,就像我认为他想知道如何通过数据id改变内容一样,所以我的意思是op可以使用.html来改变他想要的任何东西。但我修改了您提到的答案:他在数据id中的innerHTML中指定了他想要的内容:
var htmlData = '<a title="LOGOUT" href="/logout">';
    htmlData+= '<i class="glyphicon glyphicon-user"></i>LOGOUT</a>';
    htmlData+='<div style="width: 350px;" data-width="350" data-class="menu-login-row">My other content</div>';  


jQuery('li[data-id="528"]').html(htmlData);
$('li[data-id="528"]').find('a').attr("title","LOGOUT").attr("href","/logout").html('<i class="glyphicon glyphicon-user"></i>LOGOUT</a>');