小编Nic*_*ick的帖子

多个DOM appendChild的速度/效率

我必须在一个命中创建七个div元素 - 容器A包含A1,A2,A3和A4,然后A2中包含A2a和A2b.我正在使用多个调用这个小函数:

function u1(t,i,c,p){ // type,id,class_name,parent_id
    var tag=document.createElement(t); // Create node to be appended
    tag.id=i;
    tag.className=c;
    document.getElementById(p).appendChild(tag);
}
Run Code Online (Sandbox Code Playgroud)

我的问题:是否有更节省时间的方法将七个捆绑在一起,然后只添加一个DOM?或者innerHTML是一个不错的选择?

谢谢 :)

javascript appendchild

5
推荐指数
1
解决办法
6038
查看次数

选择列表的CSS样式输入[type ="??"]

可能重复:
CSS选择选择器

在处理选择列表时,与以下内容相当的CSS是什么?

input[type="text"]
input[type="submit"]
Run Code Online (Sandbox Code Playgroud)

html css css-selectors

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

没有'px'的固定元素上'right'的jQuery值

有一些类似的标题(例如,这里,这里这里),但我拒绝相信它像它们似乎表明的那样复杂.以下给出'20px'的值.如何让它返回'20'?

var base=$('#id').css('right');
Run Code Online (Sandbox Code Playgroud)

css jquery css-position

5
推荐指数
1
解决办法
9566
查看次数

jQuery:计算可见元素 - 效率/速度问题

我有一些代码工作正常,但它变得太慢:

HTML:

我有一个包含大约50个ul元素的容器.每个ul元素都有一个h4标题,后跟一系列li元素.如果没有可见的线元素,该函数会隐藏标题.

使用Javascript/jQuery的:

            function show_or_hide_headings() {
                $('#container').children('ul').each(function (i) {
                    var $this = $(this),
                        $h4 = $this.children(':first');
                    if ($this.children('li:visible').length) {
                        $h4.show();
                    } else {
                        $h4.hide();
                    }
                }); 
            }
Run Code Online (Sandbox Code Playgroud)

直到我改变了li元素的本质,它才能完全可以接受.li现在每个都是一个迷你桌子<table><tr><td>icon</td><td>text</td></tr></table>.它现在需要2秒钟才能完成,而之前的工作时间不到半秒.(该表用于停止文本环绕图标.)

我承认我不太明白为什么在每个中添加额外的元素会li减慢DOM处理的速度,因为我已经使用了.children选择器只能深入到一个DOM层.

我也尝试过:

                $('#container').find('h4').each(function (i) {
                    var $this = $(this);
                    if ($this.siblings('li:visible').length) {
                       $this.show();
                    } else {
                       $this.hide();
                    }
                }); 
Run Code Online (Sandbox Code Playgroud)

并且$('#container').children().children('h4')好的措施.

值得注意的是,当有许多li可见元素时,它比很少可见的要慢得多.然而,现在没有更多的线条比它工作得非常快(即,在将表放入每条线之前).

任何建议非常感谢,但请不要求我发布比我更多的代码:)

谢谢.

javascript jquery children visible

5
推荐指数
1
解决办法
2959
查看次数

每个jQuery - 将(this)与类规范相结合

我正试图循环一些表行.简化的行如下:

<table>
  <tr id="ucf48">
    <td class="ucf_text">
      <input name="ucf_t48" value="Ann becomes very involved in the text she is reading." type="text">
    </td>
  </tr>
  <tr id="ucf351">
    <td class="ucf_text">
      <input name="ucf_t351" value="Ann is a fast and confident reader." type="text">
    </td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码循环:

$('#ucf tr').each(function(i,obj){
    var cn=$(this).attr('id').substr(3);
    var t=$(this +'.ucf_text input').val();

    console.log("Row "+i);
    console.log("Cnum: "+cn);
    console.log(t);
});
Run Code Online (Sandbox Code Playgroud)

控制台输出是:

Row 0
Cnum: 48
Ann becomes very involved in the text she is reading.
Row 1
Cnum: 351
Ann becomes very involved in the text she …
Run Code Online (Sandbox Code Playgroud)

each jquery class this

4
推荐指数
1
解决办法
7468
查看次数

传递函数名称,然后在事件处理程序中使用

我想要做的是将函数(X)的名称作为参数传递给函数Y,然后让函数Y创建一个触发函数X的事件处理程序.

我希望函数Y创建以下内容:

$('#form').submit(function(e){e.preventDefault();X();});
Run Code Online (Sandbox Code Playgroud)

我试过了:

var name="X()";
X(name);

function Y(id){
    $('#element').submit(function(e){e.preventDefault();id;});
}
Run Code Online (Sandbox Code Playgroud)

可以预见,这不起作用.(我真的不相信它会!)但是怎么做呢,(1)按照我的方式做,或者(2)将整个X函数wholus-bolus传递给Y?

谢谢.

jquery function event-handling

4
推荐指数
1
解决办法
4763
查看次数

C:换行十六进制值

我有一些代码从txt文件中读取行,然后添加到数据库中.

如果您直接在txt文件中键入数据,那么这足以识别换行符: if (ch == '\n')

但是,如果您剪切并粘贴Microsoft Word,则检查\n不起作用.

如果我逐个转储十六进制值/字符,实际数据如下所示:

2e .    [ Last char of line ]
 d 
58 X    [ First char on next line ]
Run Code Online (Sandbox Code Playgroud)

句号是一行中的最后一个字符.'X'是下一行的第一个字符.十六进制'd'导致换行符.

到底是怎么回事?我如何测试我的ch变量> d<,因为它是十六进制中的空格?

谢谢.

c hex newline

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

将图像添加到jsfiddle

我想在jsfiddle中使用一个小图像/图标.

我该怎么做?我在某处上传图片吗?或者是否有可以提取的URL?文档没有明显(至少对我来说).我也发现了这个这个,但附带的小提琴没有显示图像.

我只想要一个20px x 20px的东西附加到一个<a>演示一些CSS.

jsfiddle

4
推荐指数
1
解决办法
4705
查看次数

从DOM创建可重用的文档片段

我想在架子上有一个文件片段/元素,我连接了许多其他元素.然后,每当我想将这些元素系统中的一个添加到DOM时,我复制片段,添加唯一的DOM ID并附加它.

所以,例如:

var doc = document,
    prototype = doc.createElement(),  // or fragment
    ra = doc.createElement("div"),
    rp = doc.createElement("div"),
    rp1 = doc.createElement("a"), 
    rp2 = doc.createElement("a"),
    rp3 = doc.createElement("a");

ra.appendChild(rp);
rp.appendChild(rp1);
rp.appendChild(rp2);
rp.appendChild(rp3);
rp1.className = "rp1";
rp2.className = "rp2";
rp3.className = "rp3";

prototype.appendChild(ra);
Run Code Online (Sandbox Code Playgroud)

这创建了原型.然后我希望能够复制原型,添加ID,并附加.像这样:

var fr = doc.createDocumentFragment(),
    to_use = prototype; // This step is illegal, but what I want!
                        // I want prototype to remain to be copied again.

to_use.id = "unique_id75";
fr.appendChild(to_use);
doc.getElementById("container").appendChild(fr);
Run Code Online (Sandbox Code Playgroud)

我知道这不合法.我做过小提琴和研究等等,但它没有用.一篇SO帖子提出了el = doc.appendChild(el);回报el …

html javascript dom fragment

4
推荐指数
1
解决办法
9140
查看次数

iOS/Cocoa数据控制器类 - 这是标准做法吗?

我已经完成了前两个在线教程"你的第一个iOS应用程序"和"你的第二个iOS应用程序".后者利用数据控制器类的所看到这里.

我现在正在通过"iOS编程:大书呆子牧场指南第3版".然而,它似乎没有引用数据控制器类,并且似乎将方法放入模型类本身(即,进入MyClass.m,而不是MyClassDataController.m).

我相信最终都会变得清晰,但有人可以给我一个更广泛的参考框架吗?使用数据控制器类只是一种风格决定吗?我看过其他几本书,他们似乎也没有提到数据控制器.

cocoa-touch controller class ios

4
推荐指数
1
解决办法
1294
查看次数