Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
使用jquery或原始javascript更改元素本身_Javascript_Jquery_Dom_Attributes_Elements - Fatal编程技术网

使用jquery或原始javascript更改元素本身

使用jquery或原始javascript更改元素本身,javascript,jquery,dom,attributes,elements,Javascript,Jquery,Dom,Attributes,Elements,是否有任何方法可以使用jQuery或基本Javascript更改元素本身。例如:我们有一个Html标记为,我们可以这样替换它 是的,我们可以添加/删除标题/数据标题属性,但是我们有很多链接,所以如果我们可以有这样的东西会更好。在Google和此处搜索,但没有找到类似的内容,只是更改属性值和添加/删除属性 请给我一些建议 谢谢如果要将数据标题属性添加到每个锚定标记,可以使用标题属性中的值执行以下操作: $("a").each(function(){ $(this).attr("data-t

是否有任何方法可以使用jQuery或基本Javascript更改元素本身。例如:我们有一个Html标记为
,我们可以这样替换它

是的,我们可以添加/删除标题/数据标题属性,但是我们有很多链接,所以如果我们可以有这样的东西会更好。在Google和此处搜索,但没有找到类似的内容,只是更改属性值和添加/删除属性

请给我一些建议


谢谢

如果要将数据标题属性添加到每个锚定标记,可以使用标题属性中的值执行以下操作:

$("a").each(function(){
    $(this).attr("data-title", $(this).attr("title"));
    $(this).removeAttr("title");
});

这将在所有a标签中将标题更改为数据标题:

$("a").each(function() {
$(this).attr("data-title", $(this).attr("title"));
$(this).data("title", $(this).attr("title"));
$(this).removeAttr("title");
});

也可以这样做:

$('a').attr('data-title', function () {
    return this.title
}).removeAttr('title');
嗯。。。没有jQuery。。。(只是因为有这样的选择总是很好)

var el=document.getElementsByTagName(“a”);
对于(i=0;i
使用,您可以执行以下操作:

//找到每个标签都有一个title属性

$( 'a[title]' ).each( function ( index, item ) {
  // cache your jQuery object
  var $item = $(item);

  // replace and remove the attributes
  $item.attr( 'data-title', $item.attr( 'title' ) );
  $item.removeAttr( 'title' );
});
一些注意事项:

  • 如果您想要在新建页面中的元素上自定义属性,则需要 最好改变后端流程来创建这些新的 属性。在此基础上进行扩展:如果您正在手动编写新页面, 简单地写出新的属性;如果您使用的是服务器端 技术,使用已经用于编写的模板系统 排除这些新属性
  • 您的示例不是很好的实践:标题属性对于 许多人和机器。用数据标题替换它们可以防止 许多标准技术人员都无法找到其中包含的信息。有额外的 这意味着数据属性意味着它们是额外的, 应用程序特定的信息和链接标题更好地用于 通用方法
  • 这是多余的:如果你能阅读 数据属性,也可以读取普通属性
  • 在不使用jQuery的情况下,还有其他方法可以做到这一点,但这是目前使用的一个非常典型的库

您尝试过什么?还有,我不明白你在问什么。为什么添加/删除属性不是您想要的?为什么在生成标记时不这样做?请注意。如果只是添加数据标题,jQuery的数据中就没有标题(请参阅我的anwser)@ScottMermelstein如果他改变了一切,那就是我的答案:删除标题属性的无效答案只是解决最后一个问题:虽然jQuery是常用的,但它也经常被滥用。我的意思是,有许多页面加载90kb的jQuery库只是为了执行DOM调用(有些页面甚至不加载压缩版本,所以>270kb)。jQuery是一个非常棒的库,但不应该建议人们仅仅使用它来执行两个基本的DOM函数。您可以将所有这些功能组合在一起:
$(this).attr(“data title”),$(this.attr(“title”)).data(“title”),$(this.attr(“title”).removeAttr(“title”)
$( 'a[title]' ).each( function ( index, item ) {
  // cache your jQuery object
  var $item = $(item);

  // replace and remove the attributes
  $item.attr( 'data-title', $item.attr( 'title' ) );
  $item.removeAttr( 'title' );
});