gpt4 book ai didi

javascript - jQuery 从 backbone 的脚本标签中选择标记

转载 作者:行者123 更新时间:2023-11-30 07:43:49 25 4
gpt4 key购买 nike

我使用的是 Backbone.js,模板位于脚本标签内。我有一个使用 jQuery 选择器迭代所有输入字段的插件。它没有在脚本标签中获取输入。

知道如何从脚本标签内定义的 html 中获取属性吗?

谢谢!

最佳答案

<script>就 DOM 而言,元素本质上是黑盒,它们只保存 DOM 不关心的数据(具体来说,它们保存 non-replaceable character data,而不是标记)。所以,如果你做 $('input') , 你不会找到 <input>里面的 s <script>元素,因为,嗯,没有任何 <input> <script> 内的元素s,只是包含字符序列 '<', 'i', 'n', 'p', 'u', 't', ... 的字符数据(即字符串) .

例如,如果您有以下 HTML:

<div></div>
<script id="tmpl" type="text/x-underscore-template">
<input name="{{name}}">
</script>​

然后这个:

console.log('divs: ' + $('div').length);
console.log('inputs: ' + $('input').length);

会告诉你有一个<div>和零 <input> s,它会说实话。如果你需要查看 <script> ,您必须手动将该字符数据转换为 HTML,例如:

var $inputs_in_script = $($('#tmpl').html()).filter('input');

$inputs_in_script的长度会是一个。

演示:http://jsfiddle.net/ambiguous/64kjq/

如果您正在处理您的 <script>如果使用模板引擎,那么您必须在模板引擎提供给您的 HTML 上调用您的插件。然后插件会找到 <input>因为它们将是真实的 <input>元素而不是看起来像 <input> 的字符串元素。

关于javascript - jQuery 从 backbone 的脚本标签中选择标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com