小编Bun*_*jip的帖子

如何检测HTML5 data-*属性是否将空字符串作为值?

如何使用jQuery/JavaScript检测data-*某个DOM元素的给定属性是否为空值?常见的比较运算符似乎无法正常工作,如下例所示.一世

可能接近:默认情况下检查没有值的HTML5数据属性设置data-html5值

但这些答案都不符合这个问题.

HTML

<ul class="list">
  <li class="list--item" data-id="x6gftcc-44">First entry</li>
  <li class="list--item" data-id="">Last entry</li>
</ul>
<div class="message"></div>
Run Code Online (Sandbox Code Playgroud)

一些CSS

.list{
    list-style-type: none;
  }
  .list--item{
    display: inline-block;
    min-width: 200px;
    padding: 20px;
    border: 1px solid rgb(60,64,73);
    cursor: pointer;
  }
  .message{
    display: none;
  }
  .message.active{
    display: block;
  }
  .true{
    color: green;
  }
  .false{
    color: red;
  }
Run Code Online (Sandbox Code Playgroud)

JavaScript

$(document).ready(function(){
  $('.list--item').click(function(event, target){
    function hasId(){
      if ($(this).data('id') != ''){
            return true;
        }
        else{
            return false;
        }
    };
    var entry = { …
Run Code Online (Sandbox Code Playgroud)

javascript jquery custom-data-attribute

4
推荐指数
2
解决办法
1419
查看次数

Underscore.js模板:未呈现的模板变量

我刚开始使用jQuery和underscore.js来掌握使用JavaScript进行单页面应用程序开发的基础知识.在进入任何客户端MVC框架之前,我想了解一些更基本的东西,比如模板插入.

我的问题:当通过_.template()呈现HTML时,不会评估模板变量.HTML:

<body>
    <script id="app-view-1" type="text/template">
      <div id="app-view-1-container" class="app-workbench-container active-panel">
        <h2><%= title =></h2>
        <ul class="choice-list">
          <li><a class="" id="" href="#" data-choice="choice 1"></a></li>
          <li><a class="" id="" href="#" data-choice="choice 2"></a></li>
        </ul>
      </div>
    </script>

    <script id="app-view-2" type="text/template">
      <div id="app-view-2-container" class="app-workbench-container active-panel">
        <h2><%= title =></h2>
        <form id="" class="input-panel active-panel" action="#">
          <input type="text" id="input-field-1" class="app-control">
          <input type="radio" id="radio-button-1" class="app-control" value="value-1">Value 1
          <input type="submit" id="submit-button-1" class="app-control">
        </form>
      </div>
    </script>

    <header id="app-header">
      <h1>Single Page App (SPA) Test</h1>
      <nav id="main-menu-panel">
        <ul id="main-menu">
          <li class="main-menu-item"><a id="view-1" class="" data-target="app-view-1" href="#">View 1</a></li> …
Run Code Online (Sandbox Code Playgroud)

javascript jquery templates underscore.js single-page-application

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

Meteor.js:如何检索事件对象的父元素的数据属性?

我想建立一些互动周计划.我使用html表来显示计划.每个表格行对应于一周中的一天,而每个表格单元格表示一天中的某一部分(例如"早晨","中午"等).该表以模板部分呈现.要与表的每个字段进行交互,我将数据属性绑定到每个字段.为了防止冗余,我想将相应的日期绑定到表行的数据属性而不是每个单个表单元格.我的问题是,在该模板的事件处理程序中,如果单击表格单元格,如何访问相应父表行的数据属性?

week-plan.html看起来像

<template name="weekPlan">
...
<tbody>
  {{#each daysOfWeek}}
    {{> dayDataRow weekDay=day weekDayDate=date}}
  {{/each}}
</tbody>
...
</template>
Run Code Online (Sandbox Code Playgroud)

day-data-row.html看起来像

<template name="dayDataRow">
  <tr class="week-plan--date" data-date="{{weekDayDate}}">
    <td class="week-plan--day">{{weekDay}}</td>
    <td class="week-plan--item" data-my-data="morning"></td> 
    <td class="week-plan--item" data-my-data="noon"></td>
    <td class="week-plan--item" data-my-data="afternoon"></td>
    <td class="week-plan--item" data-my-data="evening"></td>
    <td class="week-plan--item" data-my-data="night"></td>
  </tr>
</template>
Run Code Online (Sandbox Code Playgroud)

week-plan.js看起来像:

Template.weekPlan.helpers({
  daysOfWeek: function(){
    var today = new Date();
    var firstOfWeek = today.getDate() - today.getDay() + 1;
    var weekDays =  ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'];
    weekArray = new Array();
    var row = 0;
    for (row; row < …
Run Code Online (Sandbox Code Playgroud)

javascript event-handling custom-data-attribute meteor

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