使用jQuery删除和附加视口

使用jQuery删除和附加视口,jquery,Jquery,我发现一个HTML页面包含以下代码: jQuery(document).ready(function () { var screen_width = parseInt(jQuery(window).innerWidth()); var scale = screen_width / 1200; $('head').remove('<meta name="viewport">'); $('head').append('<meta name="view

我发现一个HTML页面包含以下代码:

jQuery(document).ready(function () {
    var screen_width = parseInt(jQuery(window).innerWidth());
    var scale = screen_width / 1200;
    $('head').remove('<meta name="viewport">');
    $('head').append('<meta name="viewport" content="target-densitydpi=device-dpi,width=device-width,initial-scale=' + scale.toFixed(1) + ',minimum-scale=0.1,user-scalable=yes"/>');
});
jQuery(文档).ready(函数(){
var screen_width=parseInt(jQuery(window.innerWidth());
var刻度=屏幕宽度/1200;
$('head')。删除('');
$('head')。追加('');
});
当我检查网页时,控制台下出现以下错误:

jquery.js:13未捕获错误:语法错误,无法识别的表达式:

在Function.ga.error(jquery.js:13)
在ga.tokenize(jquery.js:16)
在ga.compile(jquery.js:20)
在ga.select(jquery.js:20)
在ga(jquery.js:10)
在Function.ga.matchesSelector(jquery.js:13)
在Function.r.filter(jquery.js:20)
在Ka(jquery.js:34)
在r.fn.init.remove(jquery.js:35)
在HTMLDocument。(评论:1878)


如果
$('head'),则错误消失。删除(“”)正在被注释掉。这是删除视口的正确方法吗?

您可以使用属性和值选择器删除元素:

$('meta[name="viewport"]').remove();

可以使用属性和值选择器删除元素:

$('meta[name="viewport"]').remove();

有多种方法可以做到这一点:

备选案文1:

$('head meta[name="viewport"]').remove();
备选案文2:

$('head').find('meta[name="viewport"]').remove();
备选案文3:

$('head meta[name="viewport"]').prop('outerHTML', '<meta name="viewport" content="target-densitydpi=device-dpi,width=device-width,initial-scale=' + scale.toFixed(1) + ',minimum-scale=0.1,user-scalable=yes"/>');
$('head-meta[name=“viewport”]).prop('outerHTML','');

注意:使用选项3,您不需要删除该元素。

有多种方法可以做到这一点:

备选案文1:

$('head meta[name="viewport"]').remove();
备选案文2:

$('head').find('meta[name="viewport"]').remove();
备选案文3:

$('head meta[name="viewport"]').prop('outerHTML', '<meta name="viewport" content="target-densitydpi=device-dpi,width=device-width,initial-scale=' + scale.toFixed(1) + ',minimum-scale=0.1,user-scalable=yes"/>');
$('head-meta[name=“viewport”]).prop('outerHTML','');

注意:使用选项3,您不需要删除该元素。

由于“删除函数”的错误实现,它导致了一个错误。当您要删除元素本身以及其中的所有内容时。除了元素本身之外,与元素关联的所有绑定事件和jQuery数据都将被删除

为.remove()指定元素时,请确保使用元素名称、id、类等选择器

代码必须如下所示:

jQuery(document).ready(function () {
   var screen_width = parseInt(jQuery(window).innerWidth());
   var scale = screen_width / 1200;
   $('meta[name="viewport"]').remove();
   $('head').append('<meta name="viewport" content="target-densitydpi=device dpi,width=device-width,initial-scale=' + scale.toFixed(1) + ',minimum-scale=0.1,user-scalable=yes"/>');
});

由于“删除函数”的错误实现而导致错误。当您要删除元素本身以及其中的所有内容时。除了元素本身之外,与元素关联的所有绑定事件和jQuery数据都将被删除

为.remove()指定元素时,请确保使用元素名称、id、类等选择器

代码必须如下所示:

jQuery(document).ready(function () {
   var screen_width = parseInt(jQuery(window).innerWidth());
   var scale = screen_width / 1200;
   $('meta[name="viewport"]').remove();
   $('head').append('<meta name="viewport" content="target-densitydpi=device dpi,width=device-width,initial-scale=' + scale.toFixed(1) + ',minimum-scale=0.1,user-scalable=yes"/>');
});

这回答了你的问题吗?这回答了你的问题吗?