【问题标题】:Using JavaScript to get data-attr and replace that attr with a var使用 JavaScript 获取数据属性并将该属性替换为 var
【发布时间】:2013-05-18 02:08:20
【问题描述】:

好的,我想做的是使用 javascript 来获取我选择的属性,并将其用作 javascript 变量。反正我给你看就更好了。

var a='<div id="element">Hello</div>';
var b="<span class="class">GoodBye</span>";
var c="<div id="element3">Filler Text</div>";
var d="<div id="element4">Filler text again</div>";
var e="<div id="element5">Filler text once more</div>";

$('.element').click(function(){
  var Element = $(this).attr('data-edit');
  $('#information_inner').html(Element);
  $('.pop_up').show();
 });

HTML 标记看起来像

<div class="element" data-edit="c"></div>

所以我们已经知道会发生什么,HTML 将变为 c 而不是上面列出的变量。那么您将如何检索数据编辑并对其进行更改或使其选择为它列出的 javascript 变量?

【问题讨论】:

  • 仔细检查语法高亮,看到了吗?
  • 不,我什么也没看到...
  • 你要转义双引号还是用单引号,字符串应该都是红色的,现在看到了吗?
  • Opps 我通常使用单引号,正如您从第一个引号中看到的那样。我的错。只是为了得到我的回复而写得很快。不过还是谢谢你。您可以根据需要进行编辑。

标签: javascript jquery arrays click attr


【解决方案1】:

您可能希望将这些变量移动到一个对象中:

var text = {
    a: '<div id="element">Hello</div>',
    b: '<span class="class">GoodBye</span>',
    c: '<div id="element3">Filler Text</div>',
    d: '<div id="element4">Filler text again</div>',
    e: '<div id="element5">Filler text once more</div>'
}

然后您可以使用例如text['a'] 来访问其中之一:

$('#information_inner').html( text[Element] );

【讨论】:

  • 哦,我真傻 :) 我明白了。非常感谢,因为我从来没有想过这个。我想知道世界上如何做到这一点。我很欣赏这一点,因为这里的所有其他答案都很简单,而且我的问题比我读过的更复杂。!!!投票并检查!
  • 我只是使用它并设置了两个对象,一个名为标题,另一个命名为正文。而且效果非常好!非常感谢,我现在对这些对象有了更多的了解!你真棒!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 2020-06-24
  • 2020-09-14
  • 1970-01-01
  • 2013-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多