我試圖做同樣的事情,Shopify的「處理」對字符串,但與jQuery。jQuery:將字符串轉換爲類似於Shopify的Handleize的「句柄」
https://docs.shopify.com/themes/liquid-documentation/filters/string-filters#handle
基本上我想任何字符串轉換爲把手,所以
你好,我的名字是克里。
將成爲
你好,我的名,是-科瑞
使用jQuery的功能。
我試圖做同樣的事情,Shopify的「處理」對字符串,但與jQuery。jQuery:將字符串轉換爲類似於Shopify的Handleize的「句柄」
https://docs.shopify.com/themes/liquid-documentation/filters/string-filters#handle
基本上我想任何字符串轉換爲把手,所以
你好,我的名字是克里。
將成爲
你好,我的名,是-科瑞
使用jQuery的功能。
嗯,真的,你會這樣做正則表達式和字符串替換,而不是jQuery。
var name = "Hello, my name is Corey.";
name = name.toLowerCase().replace(/ /g,'-');
,你在文本輸入型我做了一個小的jQuery擴展slugify串並輸出結果:
jquery.slug.js:
jQuery.fn.slug = function(options) {
var defaults = {
events: 'keypress keyup blur',
targets: ['#slug', '#hidden']
};
var opts = jQuery.extend(defaults, options);
jQuery(this).on(opts.events, function(){
var slug = $(this).val().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/-$/, '').replace(/^-/, '');
jQuery.each(opts.targets, function(index, element) {
$(element).val(slug); // input or textarea
$(element).html(slug); // other dom elements
});
});
};
用法:
$('input[name="some-text-input"]').slug({targets: ['#some-id', 'input[name="some-name"]']});