我试图从Web应用程序的数据属性中选择特定单词......这可能吗?
需要保留空间......
数据属性值可以轻松地从...更改
//Must keep spaces
alert('');// Alert the first word from data-nick-picking
// Answer - Im
alert('');// Alert the last word from data-nick-picking
// Answer - value
alert('');// Alert the word that comes before the word this
// Answer - from
alert('');// Alert the word that comes after the word picking
// Answer - a
alert('');// Alert everything before the word certain
// Answer - Im picking a
alert('');// Alert everything after the word from
// Answer - this value
// Please no cheating or beating around the bush… the amount of words can change for before or after a word example
// Alert everything before the word certains answer
// Could change to
// Im not just picking a
// or
// Alert everything after the word from answer
// Could change to
// the selected menu above

<div data-nick-picking="Im picking a certain word from this value" class="wrapper"></div>
&#13;
答案 0 :(得分:0)
您可以将句子分成数组,然后搜索单个单词匹配。第一个和最后一个字将是第一个和最后一个数组元素。要搜索下一个或上一个单词,请迭代数组,找到匹配项后,选择下一个或上一个数组项。完成join()函数后,您总是可以重新构建数组。
var words, search, result;
// break sentence
words = $('.wrapper').data('nick-picking').split(' ');
search = 'from';
result = '';
// search array
for (var i=0; i<words.length; i++) {
if (words[i] === search && i != words.length-1) {
result = words[i+1]
}
}
// rejoin sentence
words = words.join(' ');
// print result
console.log(result);
答案 1 :(得分:0)
如果您可以确保data-if
的值没有重复出现给定单词,那么这只是一个非常简单的任务,只需将data-if
的值转换为数组即可在数组中使用indexOf
与splice
或slice
。
这是一个例子
var data = "Im picking a certain word from this value".split(' ')
// first word
console.log(data[0])
// last word
console.log(data[data.length - 1])
// word before 'this'
console.log(data[data.indexOf('this') - 1])
// everything before the word 'certain'
console.log(data.splice(0, [data.indexOf('certain')]).join(' '))
// everything after the word 'from'
console.log(data.slice([data.indexOf('form') - 1]).join(' '))
&#13;
但我担心,这不是一个非常好的决定。也许你需要对data-if
实际应该如何工作的逻辑进行思考。 if
应该或者最有可能检查给定条件是否评估为true
或false
。这是一个非常难的决定,如果您拥有的是一个给定的字符串,可能会有一堆字符不符合您决定结果是true
还是{{1}的规则}。