我正在尝试扩展DOMWindow example 6以锚定到页面上的各种元素。实际上,语法意味着选择器需要是静态的,无论是类名还是id,都可以工作。但是,我想要做的是将被点击的元素的id指定为选择器,但它似乎不起作用。一个简单的例子:
$(function() {
$('.example6DOMWindow').openDOMWindow({
height: 100,
width: 300,
positionType: 'anchored',
anchoredClassName: 'exampleWindow6',
anchoredSelector: '#someid',
eventType: 'click',
windowSource: 'ajax',
windowHTTPType: 'post'
});
});
我尝试将选择器指定为anchoredSelector: '#' + $(this).attr('id')
,但.openDOMWindow不能以与.click()相同的方式使用,因此$(this)实际上并不引用所单击的元素。我也尝试了以下方法,但它也没有用:
$(function() {
$('.example6DOMWindow').click(function() {
var link = $(this);
link.openDOMWindow({
height: 100,
width: 300,
positionType: 'anchored',
anchoredClassName: 'exampleWindow6',
anchoredSelector: '#' + link.attr('id'),
eventType: 'click',
windowSource: 'ajax',
windowHTTPType: 'post'
});
});
});
有没有人建议如何实现这一目标?或者可能是可以实现相同功能的替代插件?
答案 0 :(得分:1)
你可以为几乎任何需要基于你使用.each()
循环所在元素的选项的插件执行此操作,如下所示:
$(function() {
$('.example6DOMWindow').each(function() {
$(this).openDOMWindow({
height: 100,
width: 300,
positionType: 'anchored',
anchoredClassName: 'exampleWindow6',
anchoredSelector: '#' + this.id,
eventType: 'click',
windowSource: 'ajax',
windowHTTPType: 'post'
});
});
});