如何将一些数据保存为html标签属性?例如,给定数据asd/45.33/blah,我需要在html中保存这些数据,并在使用jquery后得到这些数据:
$("#my_tag").attr("special_attribute");
Run Code Online (Sandbox Code Playgroud)
这是可能的?
所以我基本上是在动态添加一些元素到DOM.我可以对它们使用像.addClass方法存在之前,类与元素一起添加到DOM,但是当我使用.数据()方法来添加数据属性,则数据不被追加到DOM与元素.我在这里遗漏了什么或者我是否真的要等到DOM中的元素存在才能向其中添加数据?
PS.使用jquery 1.9.1
JS
var widget = $("<div>");
widget.addClass("banana");
widget.data('color', 'brown');
widget.appendTo('#container');
Run Code Online (Sandbox Code Playgroud)
HTML
<div id="container">
</div>
Run Code Online (Sandbox Code Playgroud)
还有一些不错的CSS,所以你知道在哪里点击检查,看到数据属性不是(或希望是)添加.
我的预期结果是
<div id="container">
<div class="banana" data-color="brown"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
干杯.
$(document).ready( function () {
$("#bla").on( "click", function () {
alert( $(this).data('bla') );
$(this).attr('data-bla', "2");
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="bla" data-bla="1">
button
</div>Run Code Online (Sandbox Code Playgroud)
因此,我需要将data-bla值从"1" 更改为"2",但正如您所看到的,值未更新且每次单击按钮,都会提醒默认值"1".
我做错了什么?
我有以下PHP代码:
$foo = new stdClass();
$foo->test='hello world';
$bar = new stdClass();
$bar->foo = json_encode($foo);
$encoded_string = json_encode($bar);
Run Code Online (Sandbox Code Playgroud)
该$encoded_string包含:
{"foo":"{\"test\":\"hello world\"}"}
Run Code Online (Sandbox Code Playgroud)
我想从javascript解析此字符串($.parseJSON例如使用jQuery ):
var data = $.parseJSON('{"foo":"{\"test\":\"hello world\"}"}');
console.log(data);
Run Code Online (Sandbox Code Playgroud)
我希望记录以下内容:
Object {foo: '{"test":"hello world"}'}
Run Code Online (Sandbox Code Playgroud)
但是Unexpected token t运行它时出现错误(使用铬)
如何在Javascript中解析此json字符串?如果有人想尝试,这是一个小提琴。
这是我用angular js编写的代码.使用jquery我想获得"data-index"属性值
<div class="claimed" droppable value="2">
<div class="phase1" ng-repeat="item in Phase1claimed"
data-index="{{$index}}" draggable value="2">
<div class="ClaimedAccordion" accordion-title="{{item.name}}" unclaimhi="unclaimhi('1');">
{{item.newLabel}} <br /> {{item.desc}} <br /> {{item.effort}} <br />
{{item.owner}} <br /> {{item.issues}} <br /> {{item.comments}} <br />
{{item.dependency}} <br /> {{item.content}}
</div><br/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在尝试一些事情......
说我有这个:
<div id="helloworld"
call="chart"
width="350" height="200"
value="[[4, 8, 1, 88, 21],[45, 2, 67, 11, 9],[33, 4, 63, 4, 1]]"
label="['test1', 'test2', 'test3', 'test4', 'test5']"/>
Run Code Online (Sandbox Code Playgroud)
我使用jQuery将我的所有元素属性提取到一个对象数组中,该部分工作,我得到这样的东西:
Object { id="helloworld", call="chart" ... }
Run Code Online (Sandbox Code Playgroud)
第二部分,我需要做的是"数组的字符串表示"转换为实际的数组,它适合我的价值使用JASON.parse()的值...但是试图做同样的事情与标签不起作用,它不喜欢我在那里的单引号(')试图逃脱它与"仍然没有骰子.
有谁知道将它转换回数组的优雅方式?
我尝试从下面的代码中传递“data-id”:
<a data-toggle="modal" data-id="10" class="passingID">
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#editkaryawan">
<i class="fas fa-pencil-alt"></i> Edit</button>
</a>
Run Code Online (Sandbox Code Playgroud)
在此处输入表单值:
<div class="modal-body">
<form method="post" action="tambahkaryawan.php">
<input type="hidden" class="form-control" name="idkl" id="idkl" value="">
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我使用的 jquery:
<script>
$(document).on("click", ".passingID", function () {
var ids = $(this).data('id');
$(".modal-body #idkl").val( ids );
});
</script>
Run Code Online (Sandbox Code Playgroud) 如果尝试使用data()方法更改数据属性值,则不会获得与方法相同的结果attr(data-key, data-value).
例如,我正在使用data-hovered=true为元素存储一些状态.如果您对一些CSS样式element[data-hovered=true]选择,使用data()方法assing值true来data-hovered不会有效果.只有使用attr()它才会有效.
那么这两种方法有什么区别呢?
单击编辑按钮时,我将显示一个模态,其名称位于相应的数据属性 data-catname 下
我正在更改 Modal 内的名称并更新文本以及相应的数据属性data-catname
但是当我重新打开 Modal 时,它向我显示了以前的名称
这是我的代码
function addCatSbmt()
{
var category_name_modal = $("#catnameedit").val();
var category_id_modal = $("#catidhiddenedit").val();
var trid = category_id_modal;
var texttoreplace = category_name_modal;
$("#span" + trid).text(texttoreplace);
$('#' + trid).find(".editcatclick").attr('data-catname', texttoreplace);
$('.closetagdialog').trigger('click');
}
Run Code Online (Sandbox Code Playgroud)
如何复制:
1.单击编辑按钮(TCS),它会打开一个弹出窗口,名称为TCS,将名称更改为其他名称。
2.再次点击相同的编辑按钮,它只显示TCS
我有一个string这样的:
var select_string = '<select><option>1</option><option>2</option></select>';
Run Code Online (Sandbox Code Playgroud)
我需要在这个字符串中添加一些data参数select并取回这个字符串以获得以下内容:
select_string = '<select data-param1="param1" data-param2="param2"><option>1</option><option>2</option></select>';
Run Code Online (Sandbox Code Playgroud)
我尝试使用像.html()or 之类的 jQuery 函数,.text()但是没有用。像这样:
select_string = $(select_string).data('param1', 'param1').html() //or .text()
Run Code Online (Sandbox Code Playgroud)
任何如何使其工作的想法都会有所帮助。谢谢你。