我发现了许多类似的问题,但没有一个对我有用。 这是我的情况: 我有一个span,这个span的内容是Jquery动态插入的一个数字。 这个相同的span有一个属性,我希望这个属性的值等于数字。
我试图将数字放在一个变量中然后通过.qutr添加到Jquery,但没有运气。这是代码:
<script>
var value= $('#min').html();
$('#min').attr('data-category', value);
</script>
<span class="filter" data-category="" id="min"></span>
任何指针都将不胜感激!谢谢:))
答案 0 :(得分:0)
在渲染HTML标记之前,您正在渲染脚本。
你必须在jQuery $(document).ready()周围包装javascript,以便在DOM准备好后触发代码,或者在呈现HTML之后将其放入。
<script>
$(document).ready(function() {
var value= $('#min').html();
$('#min').attr('data-category', value);
});
</script>
<span class="filter" data-category="" id="min"></span>
答案 1 :(得分:0)
添加了jquery watch plugin ,为了捕获内容更改,可能存在更好的解决方案,但是当您使用jquery动态更改内容时这是有效的
不要忘记清除旧内容
$('#min').html('');
插入新
之前$('#min').html('new content');
确保 watch()功能启动
答案 2 :(得分:0)
非常感谢您的帮助!我终于搞清楚了。 好的,这就是我如何解决它。这可能比我原来的问题更具体,但也许它可以帮助其他人:
首先,我使用Jquery UI滑块的change事件来检测对滑块手柄所做的任何更改:
$( "YOURSLIDER-DIV-SPAN-WHATEVER-ID-CLASS" ).slider({
change: function( event, ui ) {}
});
然后使用value方法,我将滑块手柄的值放在一个变量中。 (因为我使用了一个范围滑块,我有2个这样的顶部手柄,一个用于底部)
var value = $( "YOURSLIDER-DIV-SPAN-WHATEVER-ID-CLASS" ).slider( "values", 0 );
var value = $( "YOURSLIDER-DIV-SPAN-WHATEVER-ID-CLASS" ).slider( "values", 1 );
然后我使用.attr将变量添加到底部和顶部滑块手柄:
$('#min').attr('data-category', bottom_value);
$('#max').attr('data-category', top_value);