无法使用jQuery更改已解析HTML的属性

时间:2016-03-18 12:53:22

标签: javascript jquery html

我有一个input of type checkbox字符串,其checked属性在某种情况下应设置为true。我遇到的问题是 jQuery 并没有改变属性。

以下是代码:

//some code
//*********
value = ['<input type="checkbox" class="checkable" name="ids" value="315658">'];

value[0] = $(value[0]).prop('checked', true).prop('outerHTML'));

console.log(value[0]);//logs the original input HTML which is <input type="checkbox" class="checkable" name="ids" value="315658">

return value;

如何使用jQuery更改字符串属性?

2 个答案:

答案 0 :(得分:5)

如果要更新html,可以使用attr()。使用prop()更新dom元素的内部属性,这可能不会反映在html

&#13;
&#13;
value = ['<input type="checkbox" class="checkable" name="ids" value="315658">'];

value[0] = $(value[0]).attr('checked', true).prop('outerHTML');

snippet.log(value[0]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

试试这个黑客

var checked = "checked ";
value = ['<input type="checkbox" class="checkable" name="ids" '+checked+'value="315658">'];