当前位置: 首页 > 面试题库 >

如何使用jQuery更改元素类型

晏沈义
2023-03-14
问题内容

我有以下代码

<b class="xyzxterms" style="cursor: default; ">bryant keil bio</b>

如何将b标签替换为标签h1但保留所有其他属性和信息?


问题答案:

这是使用jQuery的一种方法:

var attrs = { };

$.each($("b")[0].attributes, function(idx, attr) {
    attrs[attr.nodeName] = attr.nodeValue;
});


$("b").replaceWith(function () {
    return $("<h1 />", attrs).append($(this).contents());
});

更新 ,这是一个插件:

(function($) {
    $.fn.changeElementType = function(newType) {
        var attrs = {};

        $.each(this[0].attributes, function(idx, attr) {
            attrs[attr.nodeName] = attr.nodeValue;
        });

        this.replaceWith(function() {
            return $("<" + newType + "/>", attrs).append($(this).contents());
        });
    };
})(jQuery);


 类似资料:
  • 问题内容: 如何使用JavaScript 响应事件来更改HTML元素的类? 问题答案: 更改类的现代HTML5技术 现代浏览器添加了 classList , 该类 提供了一些方法,可以在不需要库的情况下更轻松地操作类: 不幸的是,尽管有一些垫片可以将其支持添加到IE8和IE9中,但这些功能在v10之前的Internet Explorer中无法使用。但是,它越来越受到支持。 简单的跨浏览器解决方案

  • 问题内容: 如何使用JavaScript 响应事件来更改HTML元素的类? 问题答案: 更改类的现代HTML5技术 现代浏览器添加了classList ,该类提供了一些方法,可以在不需要库的情况下更轻松地操作类: 不幸的是,尽管有一些垫片可以将其支持添加到IE8和IE9中,但这些功能在v10之前的InternetExplorer中无法使用,可从此页面获得。但是,它越来越受到支持。 简单的跨浏览器解

  • 问题内容: 我需要使用jQuery更改元素的ID。 显然这些不起作用: 我发现可以通过以下代码实现它: 但这对我来说似乎不对。必须有更好的方法,不是吗?另外,如果没有,我可以使用什么其他方法代替显示/隐藏或其他效果?显然,我不想每次都仅显示/隐藏或影响元素,而只是更改其ID。 (是的,我是jQuery新手。) 编辑 在这种情况下,我不能使用类,我必须使用ID。 问题答案: 您的语法不正确,应将值作

  • 问题内容: 我丢失了凭据..所以我正在创建这个新线程。 我想更改此行: 对此: 因此,投票设置为。 但是问题在于,在该站点中,有几个项目需要投票,并且元素“数据水龙头”发生了变化。如果我使用此脚本: 但是它不显示任何内容,因为第一个属性值具有另一个数字。如何用输入的元素个数选择行,所以可以替换为? 我只能做这种selenium吗?有没有不使用真正的浏览器的另一种方法? 无论如何,这是网页的结构:

  • 问题内容: 函数可以工作并检测表单元素的更改,但是有没有一种方法可以检测DOM元素的内容何时更改? 这是行不通的,除非是表单元素 我希望在执行类似操作时触发此操作: 另外或函数没有回调。 有什么建议么? 问题答案: 我没有在jQuery中使用突变事件API,但是粗略的搜索使我进入了GitHub上的该项目。我不知道该项目的成熟度。

  • 问题内容: 谁能帮助我,我有两个问题。 我想做的是使用jQuery动态更改CSS类规则。 在上面的示例中,我有一个现在使用jQuery 命名的类,我想仅通过不添加css内联来更改字体大小,而不更改颜色。 我要创建更改并将其保存到文件,请记住,将存在完整的样式表或没有类名将保存在文件中。 我该怎么做才是最简单,更好的方法? 谢谢! 问题答案: 据我所知,没有jQuery的方法可以做到这一点。可能有一