相关疑难解决方法(0)

1500
推荐指数
17
解决办法
167万
查看次数

使用jQuery创建HTML元素的最有效方法是什么?

最近我一直在做很多模态窗口弹出窗口,什么不是,我使用jQuery.我用来在页面上创建新元素的方法绝大多数都是这样的:

$("<div></div>");
Run Code Online (Sandbox Code Playgroud)

但是,我觉得这不是最好或最有效的方法.从性能角度来看,在jQuery中创建元素的最佳方法是什么?

这个答案有以下建议的基准.

html javascript jquery dom

418
推荐指数
11
解决办法
33万
查看次数

jQuery text()和换行符

我希望能够说出来

$(someElem).text('this\n has\n newlines);
Run Code Online (Sandbox Code Playgroud)

并在浏览器中使用换行符进行渲染.我发现的唯一解决方法是在someElem上将css属性'white-space'设置为'pre'.这几乎可以工作,但是我在someElem的文本和顶部之间有一个令人讨厌的大填充,即使我将填充设置为0.有没有办法摆脱这个?

html javascript jquery

107
推荐指数
5
解决办法
14万
查看次数

创建新DOM元素的最佳方法

使用jquery是否更好地创建这样的DOM元素: -

function create(options)
{
     $('<form action="' + options.action + '"></form>');    
}
Run Code Online (Sandbox Code Playgroud)

或者像这样:

function create(options)
{
     $form = $('<form></form>');
     $form.attr('action',options.action); 
}
Run Code Online (Sandbox Code Playgroud)

这可能是一个意见问题.我觉得第二种方式更清晰,但我怀疑效率较低......

html javascript jquery dom

36
推荐指数
2
解决办法
3万
查看次数

jQuery中document.createTextNode('')的等价物是什么

我可以在jquery而不是document.createTextNode(' ')js行中使用什么.

我想这样做:

js: divButtons.appendChild(document.createTextNode(' '));

jquery: $("#divButtons").append(?????);

jquery

32
推荐指数
4
解决办法
3万
查看次数

MailTo来自Javascript

我有一个链接按钮,用于从页面内容构建mailto.什么是从javascript启动它而不打开空白窗口或干扰它被调用的窗口的最佳方法?

function Email()
{
    var sMailTo = "mailto:";
    var sBody = "";

    var alSelectedCheckboxes = new Array();
    $("input:checkbox[CheckBoxType=Email]:checked").each(function()
    {
        alSelectedCheckboxes.push($(this).val());
    });

    if (alSelectedCheckboxes.length > 0)
    {
        for (var i=0; i<alSelectedCheckboxes.length; i++)
        {
            sBody += alSelectedCheckboxes[i];
            sBody += "\n";
        }

        sMailTo += escape("<Insert Recipients Here>") +"?subject=" +escape("<Insert Subject Here>") +"&body=" +escape(sBody);
        window.location.href = sMailTo;
    }
    else
    {
        alert("Please select some results");
    }
}
Run Code Online (Sandbox Code Playgroud)

简单的功能在上面.window.location.href无法正常工作,除非它是Firefox/Chrome(它在IE8中重绘页面).我也尝试过window.open(sMailTo,"_ self")但是在IE8中再次打破了它所调用的页面.

我确定这是一个愚蠢的问题...... :-)

谢谢

javascript mailto jquery

14
推荐指数
1
解决办法
2万
查看次数

jQuery中的createElement

我在JavaScript中使用CreateElemant这是我的代码:

function generateInputs()
{
    var i = document.createElement("input");
    for(var j=0;j<4;j++)
    {
        var c = document.createElement("input");
        var r = document.createElement("input");
        r.setAttribute('type',"radio");
        document.getElementById('questions').appendChild(r);
        c.setAttribute('type',"input");
        document.getElementById('questions').appendChild(c);
    }

    i.setAttribute('type',"text");

    document.getElementById('questions').appendChild(i);

}
Run Code Online (Sandbox Code Playgroud)

我想用jQuery编写它,但我找不到createElement()的等价物

javascript jquery

9
推荐指数
1
解决办法
2万
查看次数

为什么 nodeName 有时在 javascript DOM 中全部大写?

所以我有一个 DOM 文档,它本质上是这样的

<categories>
    <category id="1"/>
    <category id="2"/>
</categories>
Run Code Online (Sandbox Code Playgroud)

这就是文档在 Firebug 中的预览方式,正如我所期望的。

但是,当我将其发布到服务器时,我得到

<categories>
    <CATEGORY id="1"/>
    <CATEGORY id="2"/>
</categories>
Run Code Online (Sandbox Code Playgroud)

事实上, doc.documentElement.firstChild.nodeName 返回“CATEGORY”。使用 jQuery.append('<category/>') 添加节点。

为什么所有大写返回子标签?

javascript xml dom

6
推荐指数
1
解决办法
2456
查看次数

从jQuery选择器创建DOM元素

我想知道是否有可能,而不是通过jQuery选择器从DOM中选择一个元素,如果我可以创建一个.

例如:

$.create('#hello').insertAfter('#test');
Run Code Online (Sandbox Code Playgroud)

会生成以下内容:

<div id="test">This element already existed in the DOM.</div>
<div id="hello"></div>
Run Code Online (Sandbox Code Playgroud)

或者,更好的是,对于更复杂的操作:

$.create('#test.a.b');
Run Code Online (Sandbox Code Playgroud)

对于:

<div id="test" class="a b"></div>
Run Code Online (Sandbox Code Playgroud)

显然,更复杂的操作如:selected或:nth-​​child或:not()以及所有这些操作都不需要实现.

有人知道解决方案吗?

谢谢.

jquery dom selector

5
推荐指数
2
解决办法
7600
查看次数

jquery html()无效

我有一个由jquery创建的输入框,如下所示:

val input = $('<input class="pick_date" ... />')
Run Code Online (Sandbox Code Playgroud)

但输入中的.html()方法不返回$中输入的字符串.有谁知道为什么?

编辑:啊,我明白了这个问题.有没有办法获得整个输入框的html表示而不仅仅是条目?

javascript jquery

3
推荐指数
1
解决办法
1万
查看次数

在jquery中创建一个元素

所以,我知道如何以各种方式在jQuery中创建一个元素.但是我在今天之前从未遇到过这个问题:

    var myspacer = $('<div />', {
        "id": "nav-spacer",
        "height": mynav.outerHeight()
    });
Run Code Online (Sandbox Code Playgroud)

稍后在代码中,使用jQuery的.before()方法将此变量添加到DOM中.有人能解释一下这里发生了什么吗?正在创建什么样的对象?jQuery如何知道如何将其转换为HTML元素?

javascript css jquery dom

2
推荐指数
1
解决办法
558
查看次数

如何将select传递给jquery函数

我有一些javascript,我在一个选项附加一个选项:

var myuniqueddl = $('#myuniqueddl');

$("<option value='0'>--- Select a value ---</option>").appendTo(myuniqueddl);
Run Code Online (Sandbox Code Playgroud)

我实际上也试图为另一个选择做这个.

我想避免代码重复我应该将ddl传递给方法来执行此操作吗?

function(someType ddl)
{
   $("<option value='0'>--- Select a value ---</option>").appendTo(ddl);
}
Run Code Online (Sandbox Code Playgroud)

将select传递给方法是一个坏主意吗?

有没有更好的方法呢?

如果这种方式可以,我将它传递给哪种类型?

jquery

0
推荐指数
1
解决办法
216
查看次数

标签 统计

jquery ×11

javascript ×9

dom ×5

html ×4

append ×1

css ×1

jquery-append ×1

mailto ×1

selector ×1

xml ×1