小编Rya*_*nal的帖子

名值对的语义和结构

这是我一直在努力解决的问题.标记名称/值对的正确方法是什么?

我喜欢<dl>元素,但它提出了一个问题:没有办法将一对与另一对分开 - 它们没有唯一的容器.在视觉上,代码缺乏定义.但从语义上讲,我认为这是正确的标记.

<dl>
    <dt>Name</dt>
    <dd>Value</dd>
    <dt>Name</dt>
    <dd>Value</dd>
</dl>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,很难在视觉上和代码中正确地偏移对.例如,如果我想,但每对的边界,这将是一个问题.

我们可能会指向表格.可以说,名称 - 值对是表格数据.这似乎对我不正确,但我看到了这个论点.但是,除了位置或添加类名外,HTML不会将名称与值区分开来.

<table>
    <tr>
        <td>Name</td>
        <td>Value</td>
    </tr>
    <tr>
        <td>Name</td>
        <td>Value</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

从视觉角度来看,这在代码和CSS中都更有意义.设计上述边界是微不足道的.然而,如上所述,语义最多是模糊的.

想法,评论,问题?

编辑/更新 也许这是我应该在结构方面明确提到的,但是定义列表也存在不对语义进行分组的问题.a dd和a 之间的排序和隐含边界dt很容易理解,但它们对我来说仍然感觉有些偏差.

html css semantic-web semantic-markup semantics

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

嵌套的jQuery.each() - 继续/中断

请考虑以下代码:

    var sentences = [
        'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'Vivamus aliquet nisl quis velit ornare tempor.',
        'Cras sit amet neque ante, eu ultrices est.',
        'Integer id lectus id nunc venenatis gravida nec eget dolor.',
        'Suspendisse imperdiet turpis ut justo ultricies a aliquet tortor ultrices.'
    ];

    var words = ['ipsum', 'amet', 'elit'];

    $(sentences).each(function() {
        var s = this;
        alert(s);
        $(words).each(function(i) {
            if (s.indexOf(this) > -1)
            {
                alert('found ' + this);
                return false;
            }
        });
    });
Run Code Online (Sandbox Code Playgroud)

有趣的部分是嵌套的jQuery.each()循环.根据文档 …

each jquery nested continue break

41
推荐指数
6
解决办法
10万
查看次数

ASP.NET CodeBehind无法识别TinyMCE Textarea更改

<asp:TextBox TextMode="MultiLine">在页面上有几个元素.在加载时,我填充它们(通过后面的VB代码),然后将它们转换为TinyMCE编辑器(通过jQuery TinyMCE插件).每个文本框还有一个与之关联的按钮,目的是将文本提交回后面的代码以插入数据库.

我之前发现,当单击提交按钮时,我必须将编辑器的内容"保存"到文本框中,但这不是我的问题.即使在我这样做之后,编辑也没有出现在后面的代码中.

正如我所提到的,我正在使用jQuery.这是我的点击处理程序.请记住,所有按钮都是ASP.NET中的提交按钮,因此submit类:

$('input.submit').live('click', function() {
    tinyMCE.EditorManager.triggerSave();
});
Run Code Online (Sandbox Code Playgroud)

因此,当单击任何提交按钮时,所有 tinyMCE编辑器都会触发其保存事件.执行完之后,我检查了我正在寻找的textarea的值,(再次,通过JavaScript),它似乎有编辑(我使用Chrome的开发人员工具和console.log):

console.log($(this).parent().find('textarea').val());
Run Code Online (Sandbox Code Playgroud)

但是,在服务器端,我在提交按钮的单击处理程序中看不到任何编辑:

Dim paragraph As String = Me.myTextArea.Text
' Results in the original text, not the edited text
Run Code Online (Sandbox Code Playgroud)

其他说明:

  • 每个编辑器都在自己的更新面板中
  • 由于提交的内容的性质(HTML),我必须设置EnableEventValidation="false"ValidateRequest="false"(这是一个内部应用程序,这个建议来自一个更有经验的开发人员)
  • 我对.NET很新,但这种行为对我来说似乎很荒谬.我必须遗漏一些关键的东西.

javascript vb.net asp.net textbox tinymce

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

标记div的替代方法

我可以用另一种方式标记我的div,以实现我在这里尝试做的事情.我有这个称为错误的主要div,它将显示所有错误消息.问题是,我的表单输入区域和其他指令文本之间需要介入,因为错误消息和文本需要出现在它们下面.当我做一个$('#errors div').empty();所有的指令文本和其他内容被清除,因为它全部在<div id="errors">任何替代方式标记这3个div(eUname,ePwd,eMail)所以它仍然在标签"错误"?

<div id="form">
  <div id="errors">
     //Input field and other instruction text goes here with its own id
  <div id="eUname"></div>
    //Input field and other instruction text goes here with its own id
  <div id="ePwd"></div>
    //Input field and other instruction text goes here with its own id
  <div id="eMail"></div>
 </div>
</div>
Run Code Online (Sandbox Code Playgroud)

就像是:

<div id="errors" id="eUname" ></div>
Run Code Online (Sandbox Code Playgroud)

html jquery

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