转义 URL 参数语句 if else switch

2024-01-03

这段代码有一个小问题:

function getParameters() {
  var searchString = document.getElementById('input1').value,
      params = searchString.split("&"),
      hash = {};

  if (searchString == "") return {};
  for (var i = 0; i < params.length; i++) {
    var val = params[i].split("=");
    hash[unescape(val[0])] = unescape(val[1]);
  }
    console.log(hash);
  //return hash;

  if(val[0] == "class"){ //alert(val[1]); 
    $.each(hash, function( attribute, value ) {
      test_div.setAttribute(attribute,value);
    });
  }
  else if(val[0] == "color"){ //alert(val[1]); 
    $.each(hash, function( attribute, value ) {
      test_div.style[attribute]=value;
    });
  }


  monitor_test_div.innerText = ccc.innerHTML;  
}

根据插入参数的顺序,它们会重复或不起作用......

使用转义 URL 参数设置 div 样式 https://stackoverflow.com/questions/23549478/style-a-div-using-escaped-url-parameters

Demo: JSFiddle 1 http://jsfiddle.net/36w7C/

Demo: JSFiddle 2 http://jsfiddle.net/L8nxc/1/


我想获得这个:


示例1:

input:

opacity=0&src=link1&color=red&color=green&src=link2&height=200

output:

 <div src="link2" style="color: green;"></div>

示例2:

input:

src=link1&color=red or color=red&src=link1

output:

 <div src="link1" style="color: red;"></div>


在你的行中

if(val[0] == "class")

您只检查 val 数组中的第一个元素。

您想要做的是迭代所有哈希对象并简单地检查属性,如下所示:

function getParameters() {
  var searchString = document.getElementById('input1').value,
      params = searchString.split("&"),
      hash = {};

  if (searchString == "") return {};
  for (var i = 0; i < params.length; i++) {
    var val = params[i].split("=");
    hash[unescape(val[0])] = unescape(val[1]);
  }
    console.log(hash);
  //return hash;
    $.each(hash, function( attribute, value ) {

        if(attribute=="color"){
            test_div.style[attribute]=value;
        }
        else if(attribute=="src"){
            alert(attribute);
            test_div.setAttribute(attribute,value);
        }
    });
}

这是一个工作FIDDLE http://jsfiddle.net/TheBanana/Dz9e4/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转义 URL 参数语句 if else switch 的相关文章

随机推荐

  • Android 3d 动画,如 Google Now 启动器菜单动画

    我需要在这样的活动或片段之间制作动画 我用Android Api gt 14 http www youtube com watch v cNMqIv5Ocnk http www youtube com watch v cNMqIv5Ocnk
  • 通过 Web 保护文件:基于细粒度授权的文件访问

    我有一个员工可以上传文件的系统 有以下三种方式 以公共 私人或保护模式上传到我的帐户以公共 私人或保护模式上传至部门帐户以公共 私有或保护模式上传到组织帐户 其中公共对任何人都可见 私有仅对组或个人而言并且对组织中的任何人都受保护 组织的所
  • GNU sed、^ 和 $ 带有 |当第一个/最后一个字符匹配时

    当进行包含类似内容的替换时 如果第一个字符匹配 则 REGEXP 中的 sed 不匹配模式空间开头的空字符串 如果最后一个字符匹配 它也不匹配结尾 这是为什么 以下是一些使用的示例123作为输入 与 r选项 substitution exp
  • 二维矩阵中的范围更新和查询

    我没有场景 但问题就在这里 这简直让我发疯 有一个 nxn 布尔矩阵 最初所有元素均为 0 n 我不知道如何解决这个问题 任何帮助将不胜感激 显然每个查询的 O n 解决方案是不可行的 使用数字来排序修改的想法取自 Dukeling 的帖子
  • Chrome 80如何解码cookie

    我有一个用于打开和解密 Google Chrome cookie 的工作脚本 如下所示 decrypted win32crypt CryptUnprotectData enctypted cookie value None None Non
  • Facebook SDK 4.x 权限问题 iOS

    我想得到Feed用于登录用户的时间线 我有一个登录按钮 我向其传递读取权限 包括user posts 令人惊讶的是 Facebook 没有授予我此权限并且忽略了它 Code void viewDidLoad super viewDidLoa
  • Powershell计划任务“延迟任务”选项

    我需要使用 延迟任务 选项创建任务计划 1 分钟 我可以看到 PowerShell cmdlet New ScheduledTaskTrigger 有一个选项 RandomDelay 但我认为它无效 我在文档中也看不到其他选项 https
  • Android Javascript WebView

    我有一个应用程序 我的最小 API 是 16 我想在 Web 视图上评估一些 javascript 当我有 mWebView evaluateJavascript function 我收到一个编译错误 说这仅在 API 19 及更高版本中可
  • 如何在Jqgrid中显示间接数据

    我正在我的 ASP net MVC Web 应用程序中实现 Jqgrid 我有这样的数据 SID SNAME CITY 1 ABC 11 2 XYZ 12 3 ACX 13 4 KHG 14 5 ADF 15 6 KKR 16 和另一张桌子
  • 无法使用 getRef() 吗?

    谁能解释为什么这说我不能使用 getRef 来获取被单击的位置 从我查到的所有内容来看 这应该有效 但由于某种原因却无效 public class DeleteChoiceListFragment extends Fragment Data
  • Firebase:我可以使用 Facebook 的新 Account Kit 对应用用户进行身份验证吗?

    脸书刚刚推出账户套件 https developers facebook com products account kit2016年F8 它使应用程序用户可以使用电话号码或电子邮件地址登录 我已经尝试使用它返回的访问令牌来通过 Fireba
  • 如何设置调色板,使其从最暗的颜色开始,其中旧数据比当前数据浅

    我正在绘制相关散点图 其中我的数据框包含时间数据 并且起始年份是任意的 在这种情况下 现在我有以下内容R code Set seed for randomness in dummy data set seed 123 Create data
  • Hibernate、iBatis、Java EE 或其他 Java ORM 工具

    我们正在规划一个大型企业应用程序 在经历了 J2EE 的痛苦之后 我们将重点放在评估 hibernate 上 看起来新的 Java EE API 更简单 我还阅读了一些有关 Hibernate 和 iBatis 的好文章 我们的团队对任何框
  • 如何在最小代码中使用 jquery 在 IE6 的 div 上启用悬停?

    我只想在单个 div 上实现悬停 对于 IE 6 jquery 中最简单 最轻量的解决方案是什么 div class hoverforie div 我将在 IE 条件注释中添加此脚本 提前致谢 Use hover http docs jqu
  • 深色模式:useColorScheme() 在 Android 上始终返回光

    我正在尝试让深色模式正常工作 但它在 Android 上不起作用 它总是返回 光 在 iOS 上它运行良好 import React from react import useColorScheme from react native ex
  • 相对布局和高度百分比。无法使用layout_below和layout_weight

    我对相对布局有一个问题 它的子级可以使用layout below 和layout weight 来设置其百分比高度 例如 我们有一个相对布局 其中有三个带有文本视图的线性布局 现在 我想为其中三个 线性布局 设置相对布局总高度的 25 50
  • 从文本文件 PHP 登录

    您好 我看过有关此问题的其他帖子 但它们已经有 2 岁或以上的历史了 所以我认为最好重新开始 正如标题所示 我正在尝试使用 php 制作一个登录页面 用户应该能够登录到特殊的会员专用页面 用户名和密码存储在一个文本文件中 注意这是一个作业
  • 如何在 swift 中将 sockaddr 转换为 sockaddr_in

    var sa tab sockaddr sockaddr repeating sockaddr count Int RTAX MAX let addr sockaddr sa tab Int RTAX DST let addr in soc
  • 在Android SDK中访问麦克风

    有没有什么方法可以访问 Android 手机中的麦克风 类似于访问android hardware Camera 我知道我们可以使用媒体记录器将 Android 应用程序中的音频录制到文件中 如下所示link http developer
  • 转义 URL 参数语句 if else switch

    这段代码有一个小问题 function getParameters var searchString document getElementById input1 value params searchString split hash i