我以前没见过jQuery选择器的东西

时间:2013-05-24 18:18:41

标签: jquery syntax selector

我从未见过这种语法的选择器;有人可以向我解释一下吗?

var $select = $('<select>', { id: 'csvMarketSelector', name: 'csvMarketSelector' });

var $marketSelectorContainer = $('<div>').add($('<p>', { text: settings.marketLabel })

我理解settings.marketLabel;我刚才没见过像上面这样的选择器。请不要小丑。我搜索了我的答案,包括在这里,但找不到任何帮助。

提前致谢。

4 个答案:

答案 0 :(得分:5)

此处的字符串不是选择器。 jQuery函数也可以接受HTML string,它会解析为新的DOM结构。这个jQuery函数使用的possible formats是:

jQuery( html [, ownerDocument] ) // htmlString, document

jQuery( html, attributes )       // htmlString, Object

新的DOM元素保存在jQuery列表中,就像任何其他选定的元素一样。您可以稍后使用manipulation functions将其添加到页面的DOM中。

答案 1 :(得分:4)

var $select = $('<select>', {
    id: 'csvMarketSelector',
    name: 'csvMarketSelector'
});

解释:

$('<select>'

创建一个包含在jQuery对象

中的新元素<select>

{ id: 'csvMarketSelector', name: 'csvMarketSelector' }

:设置该元素的属性(<select>

var $select

将jquery对象分配给变量$select


现在你可以像这样使用这个变量 -

$('body').append($select);

更多信息:

答案 2 :(得分:0)

var $select = $('<select>', { id: 'csvMarketSelector', 
                              name: 'csvMarketSelector' 
                            }); 

只需创建一个select元素,并提供 id和名称属性。

但是创建的元素尚未附加到DOM。

您可以使用.append(或将HTML注入DOM的任何方法

$('#div').append($select)

答案 3 :(得分:0)

波浪形括号中的部分是属性的散列,将应用于将由$('')创建的元素。正如Sushanth所提到的,它尚未添加到DOM中。您也可以使用替代语法实现相同的结果:

var $select = $('<select id="csvMarketSelector" name="csvMarketSelector">');

没有人提到的重要事情是你不能混合和匹配这两种类型的属性名称!

var $select = $('<select id="csvMarketSelector">', {name: 'csvMarketSelector'});

上述行将失败。您必须将所有属性放入标记中,或放在与该标记关联的哈希中。