【发布时间】:2017-08-31 12:31:53
【问题描述】:
我有一个 html 元素,我想在单击“i”元素时显示警报。当具有“innerNotif”类的 div 直接放在 DOM 上时,它可以工作,但是当我使用 socket.on 添加 div 时,它不起作用。我认为这是因为加载时元素不在 DOM 中。
<span class="disNone notificationMenuCss" id="notifBar">
<div class="innerNotif" id="idNatif">1<i class="fa fa-times" on-click="removeNotif" aria-hidden="true"></i></div>
</span>
<script>
var socket = io.connect();
var notifId = 0;
socket.on('libCourtLotChangeServ', function(){
var numItems = $('.innerNotif').length +1;
$( "#notifBar" ).append( '<div class="innerNotif" id="id' + notifId +'"><i class="fa fa-times" on-click="removeNotif" aria-hidden="true"></i></div>');
notifId++;
$("#notificationNumber").html(numItems);
});
</script>
<script>
Polymer({
alertNotif: function() {
alert('Test');
}
});
</script>
【问题讨论】:
-
你可能缺少
append的右括号 -
括号的结尾在元素之后,就在 notifId++ 之前
@alexzerah
</i> 和 </div>'); 需要在同一行。您不能在字符串中拆分行
您是否因为使用
polymer而忘记注册您的元素?
@Ofisora 我必须注册什么元素?
标签: javascript jquery dom socket.io polymer